我将项目从Swift 2.2升级到2.3(Xcode 7到8),并在一台Mac上提交了所有更改。当我从git拉取到另一台Mac上进行构建时,遇到了以下错误:
Warning: target specifies SWIFT_VERSION = '2.3', but it is overridden by TOOLCHAINS = 'com.apple.dt.toolchain.XcodeDefault'
我在任何文件中都找不到名为 "TOOLCHAINS" 的东西。这个警告是什么意思?
我看到您通过升级到Swift 3.0解决了问题。
我遇到了同样的问题,并进行了一些研究。在Xcode中构建时,请确保您将 "项目 > 构建设置 > 使用传统的Swift语言版本" 设置为"是"
对于那些使用xcrun或xcodebuild工具的人,我成功地通过使用额外选项 'toolchain' 来解决它。
xcrun --toolchain "com.apple.dt.toolchain.Swift_2_3"
xcodebuild -toolchain "com.apple.dt.toolchain.Swift_2_3"
标识符"com.apple.dt.toolchain.Swift_2_3"可以在以下位置找到:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/ToolchainInfo.plist
我曾经遇到过同样的警告,并通过清理构建文件夹(alt+shift+cmd+K)解决了问题。
工具链设置在Xcode菜单下的“工具链”中。它应该设置为Xcode 8。在Xcode 8中还有一个构建设置,名为“使用旧版Swift版本”,应将其设置为YES,以便使用Swift 2.3而不是3。
toolchain: "swift_2_3"
。 - ColCh