xcodebuild 使用哪个版本的 Xcode?

Posted

技术标签:

【中文标题】xcodebuild 使用哪个版本的 Xcode?【英文标题】:Which version of Xcode does xcodebuild use? 【发布时间】:2011-10-24 09:12:54 【问题描述】:

我在同一台机器上安装了 Xcode 3.2 和 Xcode 4.0.2,它使用 Hudson 进行自动化 CI(持续集成)构建。当我说两者都已安装时,我的意思是我可以同时或互换使用 Xcode 3 和 Xcode 4。它们都存在于机器上,因为我为 Xcode 4 进行了自定义安装,而没有覆盖 Xcode 3(据说)。

对“xcodebuild”的命令行调用会调用 Xcode 3 还是 Xcode 4? 这个问题有意义吗?可能了解或不了解该主题的人要求使用 3 构建一些项目,而使用 4 构建一些项目。 如果是这样,我如何强制它使用 3 或 4? 或者,Xcode 3 的“xcodebuild”存储位置与 Xcode4 的“xcodebuild”存储位置是否存在单独的位置?如果有,我可以在构建脚本中使用不同的路径。

【问题讨论】:

找到了!默认情况下,xcodebuild 存储在 Developer/usr/bin 中。我将 Xcode4 单独存储在一个名为 Xcode4 的文件夹中,因此 xcodebuild 的 xcodebuild 路径是 Xcode4/usr/bin/xcodebuild。这意味着我将用“Xcode4/usr/bin/xcodebuild”替换我的构建脚本中的“xcodebuild”。如果它不起作用,我会告诉你。 如何使用“which -a xcodebuild”来查找路径中存在 xcodebuild 的所有位置。例如,在我的情况下,这将返回“/usr/bin/xcodebuild”。由于这是在路径上,因此发出“xcodebuild -version”会返回我拥有 Xcode 4.5。 【参考方案1】:

您可以通过xcode-select -print-path 了解 xcodebuild 使用的版本。另外,使用xcode-select -switch <path>更改为不同的版本

【讨论】:

对我来说,我不得不使用 sudo 来切换路径。【参考方案2】:

另外,要确定正在使用哪个 XCode 环境,请使用命令 xcodebuild -version

【讨论】:

您可能需要指定 xcodebuild 的位置,例如,如果您安装了 Xcode,它可能会在这里:/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild【参考方案3】:

在终端之外,您可以在 Xcode 中查看和更改它。

打开首选项,然后选择位置标签。在底部附近,标题为 Command Line Tools 的条目标记了一个下拉列表,其选择对应于 xcodebuild 中使用的 Xcode 版本。

您可以打开此下拉菜单来选择您在/Applications~/Applications 文件夹中安装的另一个Xcode 版本。


有趣的是,如果您选择的 Xcode 版本与运行它的版本不同,此面板仅说明此弹出菜单的作用,并且类似于 xcode-select

如果你需要,我也有a screenshot from what this used to look like in Xcode 8。

【讨论】:

以上是关于xcodebuild 使用哪个版本的 Xcode?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在使用 XCode 和 xcodebuild 之间存在差异?

Xcode 7.2 使用 xcodebuild 构建项目失败

xcodebuild 比 Xcode 慢得多?

使用 Xcode 的命令行构建工具存档(xcodebuild 存档)

是否可以使用 xcodebuild 而完全不使用 Xcode 来开发 iOS 应用程序?

xcodebuild:使用升级到 XCode 8.1 后出现“需要代码签名”错误