我将我的项目从Swift 2.2升级到2.3(Xcode 7到8),并在一台Mac上提交了所有内容.当我从其他Mac上的git中取出并构建时,我得到:
Warning: target specifies SWIFT_VERSION = '2.3', but it is overridden by TOOLCHAINS = 'com.apple.dt.toolchain.XcodeDefault'
Run Code Online (Sandbox Code Playgroud)
我在任何文件中都找不到任何名为"TOOLCHAINS"的东西.这个警告意味着什么?
工具链没有像之前的版本那样被明确调用。但是,它仍然存在于Xcode Preferences菜单的Locations -> Command Line Tools部分
选择Xcode 8为我解决了这个问题。
我看到你通过升级到Swift 3.0解决了这个问题.
我遇到了同样的问题,并在此进行了一些研究.在Xcode中构建时,请确保将"Project> Build Settings> Use Legacy Swift Language Version"设置为 "Yes"
对于那些使用xcrun或xcodebuild工具的人,我设法使用额外的选项' toolchain ' 来解决它
xcrun --toolchain "com.apple.dt.toolchain.Swift_2_3"
xcodebuild -toolchain "com.apple.dt.toolchain.Swift_2_3"
Run Code Online (Sandbox Code Playgroud)
标识符"com.apple.dt.toolchain.Swift_2_3"可在以下位置找到:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/ToolchainInfo.plist
Run Code Online (Sandbox Code Playgroud)
希望这对那些在Swift 2.3中开发的人有所帮助.
资料来源:https://marc.ttias.be/swift-users/2016-08/msg00188.php
小智 1
工具链在 Xcode 菜单下设置,然后是工具链。它应该设置为 Xcode 8。 Xcode 8 中还有一个名为“使用旧版 swift 版本”的构建设置,应设置为 YES,以便您使用 Swift 2.3 而不是 3。
| 归档时间: |
|
| 查看次数: |
13975 次 |
| 最近记录: |