短篇小说: Xcode 10被设置为Swift 4,但它正在使用SWIFT4.2。
说来话长:我们的项目还没有准备好SWIFT4.2,因为我们的依赖框架还不是SWIFT4.2。但是,至少我想使用Xcode 10。


“迅捷版--苹果Swift版本4.1.2 (迅捷-902.0.54 clang-902.0.39.2)”
“使用SWIFT4.1.2编译的模块无法由SWIFT4.2编译器导入:.../App/Carthage/Build/iOS/RealmSwift.framework/Modules/RealmSwift.swiftmodule/arm64.swiftmodule”
对我来说,这表明我的Swift版本(4.1.2)设置正确,Xcode仍然试图使用Swift (4.2)的错误版本。
有没有人对如何解决这个问题有建议?我是不是遗漏了什么?Xcode错误?
发布于 2018-09-21 11:23:50
我不肯定,但我猜这就是原因:
我将命令行工具设置为使用Xcode 9.4.1
您必须使用Xcode 10重新编译Swift 4依赖项,因为Swift 不稳定,即用不同编译器版本编译的二进制文件是不兼容的。即使是使用不同版本的Xcode编译的SWIFT4.0二进制文件也可能不兼容。
我对Carthage没有多少经验,但我猜您应该使用Xcode 10作为命令行工具,但是您必须设置一个不同的Swift语言版本供Xcode 10使用。它可能应该在项目中指定(在本例中是RealmSwift),或者使用环境变量,但恐怕您需要其他人回答更多细节。
发布于 2018-09-21 11:03:43
与Xcode 10一起使用领域需要从源代码构建它。在终端写:
git clone --recursive https://github.com/realm/realm-cocoa.git
cd realm-cocoa
sh build.sh ios-swift发布于 2019-04-02 16:49:16
您可以使用多个快捷工具链。安装一些版本后,请下载url swift工具链下载。重新启动xcode,在xocde菜单中,您可以看到工具链选项。
https://stackoverflow.com/questions/52413437
复制相似问题