【发布时间】:2019-09-08 08:34:26
【问题描述】:
类似的问题还有很多,但大多都是在使用cocoapods/carthage的背景下讨论的。我没有使用任何一个,并且手动导入了我所有的框架。
我使用的是 Xcode 10.1。我只是将我的一个框架更新到他们的最新版本(我们需要一个仅在此版本上可用的功能),现在收到此错误消息。我也有 Xcode 10.2,但该项目已经在 Swift 4.2.1 中编译了 3 个其他框架,当尝试使用 Xcode 10.2 构建时,这些框架会抛出类似的错误(使用 swift 4.2.1 编译的模块不能被 swift 5.0 导入)。
这个问题的大多数答案都围绕着将每个目标的 Swift 语言版本设置为 4.2.1。但是,由于我没有使用可可豆荚,我在 Xcode 中看不到任何选项来更改这个单独框架的 swift 语言版本。有任何想法吗?谢谢
【问题讨论】:
-
Swift 4 以上版本可与 Xcode 10.2 一起使用。我最近将一个 Swift 3 项目更新为 Swift 4,现在我将它与 Xcode 10.2 一起使用。
-
是的,我尝试使用 Xcode 10.2 并将项目 Swift 语言版本设置为 4.2,但我仍然收到“使用 swift 4.2.1 编译的模块无法由 swift 5.0 编译器导入”
-
我认为问题在于这些是编译的 .framework 文件,而不仅仅是常规的 swift 文件。它们已经被编译并且在构建设置中更改 swift 语言版本不会影响各个框架。
-
好吧@joey,你是对的。但如果是这样的话,你在目标项目中使用不同版本的 Swift 就没有任何运气了。您必须使用与编译框架完全相同的版本。这是 Swift 编译框架的缺点。
-
就我而言,ARVideoKit 框架在 xcode 10.2 中不可用。但在最后一个 xcode 中,它是可用的。所以没有解决方案。请在您的最后检查