xcodebuild 使用哪个版本的 Xcode?

问题描述 投票:0回答:4

我在同一台机器上安装了 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”的位置?如果有,我可以在我的构建脚本中使用不同的路径。
xcode4 continuous-integration hudson xcodebuild xcode3.2
4个回答
144
投票

您可以通过

xcode-select -print-path
找到xcodebuild使用的版本。另外,使用
xcode-select -switch <path>

更改为不同的版本

47
投票

此外,要确定正在使用哪个 XCode 环境,请使用命令

xcodebuild -version


29
投票

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

打开 Preferences,然后选择 Locations 选项卡。在底部附近,一个标题为Command Line Tools 的条目标记了一个下拉菜单,其选择对应于

xcodebuild
.

中使用的Xcode 版本

您可以打开此下拉列表以选择您在

/Applications
~/Applications
文件夹中安装的另一个版本的Xcode。


有趣的是,这个面板只说明这个弹出菜单的作用,它类似于

xcode-select
如果你选择了与它运行的版本不同的Xcode版本。

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


0
投票

我们不使用 xcode-select 的一个原因是我们不是管理员或不在 sudo 列表中。 我们可以选择 xcodebuild 而不是使用默认的。

运行

xcode-select -p
我们可能会得到
/Applications/Xcode.app/Contents/Developer
,xcodebuild在这个文件夹中
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

因此,如果我们安装了另一个 Xcode,请找到该文件夹以及那个 xcodebuild。

© www.soinside.com 2019 - 2024. All rights reserved.