Swift Xcode忽略导入

Swift Xcode忽略导入,swift,xcode,import,Swift,Xcode,Import,我刚刚安装了Xcode 11,当我尝试在选中SwiftUI复选标记的情况下创建新的项目时,它返回一个错误 无法成功生成和运行 文件“ContentView.swift”是模块“SwiftUI”的一部分;忽略导入 ContentView.swift 使用未声明的类型“视图” SceneDelegate.swift 使用未解析的标识符“UIHostingController” 我已尝试删除所有派生数据,并将命令行工具设置为11您的项目名为SwiftUI-请尝试使用其他名称。尝试使用其他项目名称。

我刚刚安装了Xcode 11,当我尝试在选中SwiftUI复选标记的情况下创建新的项目时,它返回一个错误

无法成功生成和运行

文件“ContentView.swift”是模块“SwiftUI”的一部分;忽略导入

ContentView.swift

使用未声明的类型“视图”

SceneDelegate.swift

使用未解析的标识符“UIHostingController”


我已尝试删除所有派生数据,并将命令行工具设置为11

您的项目名为
SwiftUI
-请尝试使用其他名称。

尝试使用其他项目名称。使用SwiftUI,它将始终显示编译错误。只需更改名称,即可享受使用SwiftUI编写代码的乐趣。

详细答案 您创建的每个项目都有一个与项目同名的
模块。因此这里有两个SwifUI模块:

  • 实际的
    SwiftUI
  • 项目本身
  • Xcode始终将最近的定义作为默认值。因此,您的
    SwiftUI
    比系统的
    SwiftUI
    更接近。但是你已经在项目模块中了!所以Xcode忽略了导入

    一个非常常见的错误是将项目命名为使用框架的项目!(例如,
    CoreData
    SwiftUI
    SceneKit
    Metal

    解决方案 正如Matteo在他的回答中提到的,不要用另一个模块来命名你的项目。把它换成别的


    请注意它也可能显示为错误。例如,如果将项目命名为
    CoreData
    ,并使用SwiftUI,则错误显示为
    循环依赖项错误

    模块“CoreData”和“SwiftUI”之间的循环依赖关系

    因为Xcode对模块感到困惑,无法检测出真正的问题是什么


    我们可以访问模块的类而不是系统的模块吗? 假设您在名为
    MyProject
    的自定义框架中有一个名为
    Section
    ,并将其与
    SwiftUI
    一起导入

    import SwiftUI
    import MyProject
    
    Section // <- This could be either SwiftUI's section or MyProject's Section
    
    导入快捷界面
    导入MyProject
    
    第//节你是macOS 10.15吗?不使用版本10.14.5是的,让我尝试不同的名称。它现在可以工作了。我忘记了我们不能使用类名:)@PinkeshGjr一个应用程序仍然是一个
    Swift模块
    ,它在实际框架之前作为依赖项得到解决。因此,
    import-SwiftUI
    意味着
    import-the-app-module
    ,因此XcodeYou基本上重新输入了Matteo的答案,忽略了导入。没有意义的目的,不要重复答案。
    SwiftUI.Section // <- This returns the SwiftUI's Section
    
    MyProject.Section // <- This returns the MyProject's Section