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