xcodebuild使用哪个版本的Xcode?

66

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

  • 'xcodebuild' 的命令行调用会唤起 Xcode 3 还是 Xcode 4?
    • 那个问题是否有意义?一个可能了解这个主题的人正在请求使用 3 或 4 构建一些项目。
  • 如果是 Xcode 3 还是 Xcode 4,我该如何强制它使用特定的版本?
    • 或者,Xcode 3 的 'xcodebuild' 和 Xcode 4 的 'xcodebuild' 存储在不同的位置吗?如果是这样,我可以在我的构建脚本中使用不同的路径。

1
找到了!默认情况下,xcodebuild 存储在 Developer/usr/bin 中。我将 Xcode4 存储在名为 Xcode4 的文件夹中,因此 xcodebuild 的路径为 Xcode4/usr/bin/xcodebuild。这意味着我将在我的构建脚本中用 'Xcode4/usr/bin/xcodebuild' 替换 'xcodebuild'。如果不起作用,我会告诉你的。 - kraftydevil
1
使用“which -a xcodebuild”查找路径中存在xcodebuild的所有位置怎么样?例如,在我的情况下,这将返回“/usr/bin/xcodebuild”。由于这在路径上,发出“xcodebuild -version”命令会返回我拥有Xcode 4.5。 - 0 _
4个回答

146

您可以使用 xcode-select -print-path 命令查看 xcodebuild 的版本。同时,使用 xcode-select -switch <path> 命令切换到不同的版本。


4
对于我来说,我需要使用sudo来切换路径。 - Vishal Singh

50

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


2
你可能需要指定 xcodebuild 的位置,例如如果你已经安装了 Xcode,它可能在这里:/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild - Paul F. Wood

29

在终端外,您可以在Xcode中查看和更改此内容。

打开首选项,然后选择位置选项卡。在底部附近,一个名为命令行工具的条目标记了一个下拉菜单,其选择对应于xcodebuild使用的Xcode版本。

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

说明上述解决方案的屏幕截图


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

如果需要,我还提供Xcode 8中此内容的旧版截图


1

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

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

所以如果我们安装了另一个Xcode版本,找到该文件夹并且其中包含xcodebuild。


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