Xcode的“TOOLCHAINS”设置在哪里?

13

我将项目从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" 的东西。这个警告是什么意思?

5个回答

9

我看到您通过升级到Swift 3.0解决了问题。

我遇到了同样的问题,并进行了一些研究。在Xcode中构建时,请确保您将 "项目 > 构建设置 > 使用传统的Swift语言版本" 设置为"是"

对于那些使用xcrunxcodebuild工具的人,我成功地通过使用额外选项 '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

希望对于那些使用Swift 2.3开发的人有所帮助。
来源:https://marc.ttias.be/swift-users/2016-08/msg00188.php

如果有人正在使用fastlane,那么这个gym选项将执行相同的操作:toolchain: "swift_2_3" - ColCh

8

我曾经遇到过同样的警告,并通过清理构建文件夹(alt+shift+cmd+K)解决了问题。


7

在之前的构建中,没有明确提到Toolchains。然而,在Xcode Preferences菜单的Locations -> Command Line Tools部分仍然存在。

选择Xcode 8解决了我的问题。

enter image description here


我花了一周时间将我的应用程序升级到Swift 3,所以我不能确定这是否有帮助,但至少是可信的,因此谢谢! - J. Cocoe

5
如果在Xcode菜单下没有“工具链”选项,您需要先下载并安装快照或发布版本。请注意保留HTML标记。

1

工具链设置在Xcode菜单下的“工具链”中。它应该设置为Xcode 8。在Xcode 8中还有一个构建设置,名为“使用旧版Swift版本”,应将其设置为YES,以便使用Swift 2.3而不是3。


3
在 Xcode 8.0 (8A218a) 版本中,Xcode 菜单下没有 "Toolchains"。 - J. Cocoe
2
@J.Cocoe 这是指 Xcode -> 首选项 -> 位置 -> 命令行工具吗? - ColCh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接