我可以安装多个Xcode版本吗?


175

是否可以同时安装多个版本的Xcode?

如果是这样,请张贴任何技巧,窍门或潜在问题以提防。

编辑:

我想安装多个版本的原因是尝试使用新的sdk beta,但是如果新的Xcode有问题,我希望能够对我的现有项目使用旧版本。


3
安装完两个XCodes之后,您将为XCode4创建一个自定义图标,以轻松区分它们。这是一个自定义图标-qdevarena.blogspot.com/2011/04/xcode-4-custom-icon.html
Rajavanya Subramaniyan

这是我快速使用Xcode Beta 4.2 ...的图标:在此处输入图像描述 .png文件--- < dl.dropbox.com/u/7124872/XcodeBeta.png?dl=1 > .icns文件--- < dl.dropbox.com/u/7124872/Xcode.icns? dl = 1 >享受。
休伯特·库内迈尔


请参阅我的答案,以更轻松地完成所需的工作。另外,如果您认为这是更好的方法,请考虑将我的答案标记为您的问题的解决方案。我当然认为这是一个非常出色的解决方案。
cseder

Answers:


95

是的,您可以安装多个版本的Xcode。它们将安装到单独的目录中。我发现最佳实践是先安装Mac随附的版本,然后再安装下载的版本,但这可能并没有多大区别。有关许多详细信息,请参见http://developer.apple.com/documentation/Xcode/Conceptual/XcodeCoexistence/Contents/Resources/en.lproj/Details/Details.html此Apple Developer Connection页面。 <-页面已不存在!


13
为了明确起见,只有在安装时明确指定它们,它们才会安装到单独的目录中。另外,通常您将要取消选择xcode核心工具之外的所有功能,因为其他功能不允许您更改安装目录。
Paul Du Bois

7
链接已过时。可以得到旧版本从这里,但没有就如何对它们进行设置或安装任何细节=(
GeneralMike

1
我没有机会尝试使用最新的Xcode进行此操作。我想知道是否通过在App Store中添加Xcode改变了这种情况?
MattK 2012年

4
该链接可以帮助您:iosdevelopertips.com/xcode/…–
King-Wizard

我最近升级到Xcode 7,并失去了在iOS 7.1上进行构建和测试的能力。我从developer.apple.com/downloads/index.action下载了Xcode 6.4 (按照之前的评论),然后将Xcode.app复制到了/Applications/Xcode-6.4,它在其中运行非常愉快(根据iosdevelopertips.com中提供的信息) / xcode /…,同样根据先前的评论)
Martyn Davis

43

安装多个Xcode很容易。

在安装程序中,该位置有一个下拉列表……您在安装Beta版时只需选择一个新位置。

这些来自Apple开发工具推广人员的说明具有完整的详细信息(需要Apple开发人员用户名/密码):https : //devforums.apple.com/message/40847#40847

然后为自己使用的XCode Beta版获取一个自定义图标,以便您可以在扩展坞中对它们进行区分:http : //iphonedevelopment.blogspot.com/2009/03/multiple-developer-tool-installs.html


该链接也可以帮助您:iosdevelopertips.com/xcode/…–
King-Wizard

36

我可以安装多个Xcode版本吗?

解决方案:
实际上,以上答案中的许多回答都可以。即使根据以下Oracle移动平台博客,您也可以在同一Mac中安装多个XCode。您需要这样做的原因可能因您而异。

场景:
您现在可能只安装了一个版本的XCode。大多数情况下是可以通过App Store获得的最新XCode版本的一个发行版(我拥有Xcode 6.3.2,我需要保留它并安装可以通过App Store获得的Xcode 7)。

例如:

您已经安装了XCode 6.x,并且App Store具有App Store已经提供的XCode 7。出于任何原因,您都需要保留较旧的XCode 6.x(您知道它现在已经稳定了一段时间),并且还需要安装并试用新的XCode 7,

所以第一个问题可能是,如何下载? Mac OS X的XCode 7可安装DMG文件(或者如果您想尝试旧版XCode的话)?好的,这是Apple下载的直接链接(您可能必须先登录Apple Developer帐户才能正确查看此链接),否则,下面是StackOverflow问答链接,该链接为在哪里下载XCode IDE的DMG文件提供了答案

因此,现在让我们假设您已经获得了次要安装的XCode版本的DMG文件?

步骤:
按照下面的步骤,该步骤是从上面的Oracles移动平台博客的第一个链接获得的。

  1. 如果正在运行,请关闭Xcode
  2. 重命名/Applications/Xcode.app/Applications/Xcode_6.x.app
  3. 出现提示时输入管理员密码
  4. 双击所需的,预下载的Xcode的DMG文件并安装它
  5. 安装后,在运行之前,将/Applications/Xcode.app刚安装的新版本更改 为(根据我上面给出的示例)/Application/Xcode_7.app

注意*:

[请耐心阅读本节,直到下一个注解。]当您安装了两个版本的Xcode时,您的工作站具有两个版本的命令行工具(xcodebuild)。问题是在构建iOS应用程序时,您的Terminal and Xcode build命令将使用什么命令。因为与命令行工具一起,用于构建应用程序的iOS SDK也取决于。

我的经验是我有两个Xcode版本。Xcode 10(旧版本为iOS12.0-iphoneos12.0)和Xcode 10.1(新版本为iOS 12.1-iphoneos12.1)。因此很明显,已选择“命令行工具”的设置以使用xcodebuild旧应用程序中的工具。我必须在Xcode首选项窗口中手动选择它。

在Xcode首选项窗口中的哪里设置命令行工具?

  • 选择Locations选项卡,然后在其中可以选择所有已安装的命令行工具版本(即xcodebuild)。

如何确定正在使用哪个版本的iOS SDK来构建您的iOS应用?

  • 在终端上,发出以下命令: $> xcodebuild -showsdks
  • 上面的命令应打印出您当前Xcode配置用于构建Apps的所有SDK详细信息。通过查看结果,您将了解iOS / iphoneos SDK版本取决于更改xcodebuildXcode 上的Command Line Tool()设置。

注意**:
上面给出的Apple下载链接和Oracle MPF博客文章链接将来可能会更改和/或不可用。

因此,我希望这个答案可能对其他人有所帮助!
干杯!


@Tinkerbell真心知道!:D可能在我的机器上,我的配置可能有冲突。谢谢!
Randika Vishman '16

32

您可能要在终端中使用“ xcode-select”命令在已安装文件夹中的不同Xcode版本之间切换。


10
这帮助了我,sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer/例如使用xcode的beta版本。谢谢!
Christian Landgren 2015年

谢谢...这是最好的答案!
卡洛斯·加莱亚诺

13

似乎Xcode确实喜欢放在Applications文件夹中并被称为Xcode,尤其是在使用时xcodebuild(例如,在为Carthage进行构建时),并且xcode-select似乎并不总是将其削减。

我有一个仍在使用Swift 2.2的客户端项目,为此我坚持使用Xcode 7,而将Xcode 8用于其他任何东西。

因此,在我的Applications文件夹中,我有Xcode 7(重命名为Xcode_7)和Xcode 8(重命名为Xcode_8)。然后我重命名只需要Xcode的那个,然后在完成后再次返回。这是一个痛处,但似乎有效。

这个shell脚本简化了它……

xcode-version.sh

cd /Applications

if  [[ $1 = "-8" ]]
then 
    if [ -e Xcode_8.app ] 
    then            
        mv Xcode.app Xcode_7.app
        mv Xcode_8.app Xcode.app
        echo "Switched to Xcode 8"
    else
        echo "Already using Xcode 8"
    fi
elif  [[ $1 = "-7" ]]
then
    if [ -e Xcode_7.app ] 
    then            
        mv Xcode.app Xcode_8.app
        mv Xcode_7.app Xcode.app
        echo "Switched to Xcode 7"
    else
        echo "Already using Xcode 7"
    fi
else
    echo "usage: xcode-version -7/8"
fi

xcode-select --switch Xcode.app

1
并行运行Xcode 8和Xcode会对您造成任何问题吗?
nnrales

只要我记得每次都将适当的版本重命名为Xcode.app,我就没有任何问题。
Ashley Mills

感谢您提供解决方案和方便的脚本。顺便说一句,我必须sudo像这样sudo xcode-select --switch Xcode.app才能摆在最后一行,才能使切换部分正常工作。
Isuru

1
xcodebuild从特定的Xcode版本使用不需要在系统范围内更改默认的Xcode版本。在使用之前设置DEVELOPER_DIR环境变量xcodebuild就足够了:export DEVELOPER_DIR="/Applications/Xcode-9.3.app/Contents/Developer"
Rein Spijkerman,

12

请注意,如果使用xcodebuild命令行工具,则安装的Xcode的最新版本将成为默认版本。(在/ usr / bin中安装了一个符号链接。)要在xcodebuildXcode的其他版本中使用,则需要在(xcode_install_directory)/usr/bin目录中使用该版本。

note注意要在不同版本的Xcode命令行工具之间切换,请使用xcode-select其他注释者提到的工具。


4

beta Xcode 盯着Xcode 9,标记为“ Xcode-beta.app”,旨在与生产版本并存。可以在此处的Xcode 发行说明中 找到信息。(不使用直接链接,因为它经常中断)。

从苹果公司:

Xcode 9 beta 4可以与以前版本的Xcode共存。Xcode的预发行版本可从developer.apple.com获得,打包在压缩的XIP文件中。要在测试期间安装Xcode,请下载XIP文件,双击该文件以将其展开到位,然后将Xcode-beta.app拖动到Applications文件夹中


一个警告:我所有的Xcode 8模拟器都消失了,我无法添加新的。对于我来说,这就是Xcode 9的全部内容(或者痛苦地删除在安装过程中弄乱的所有Xcode 9)。YMMV。
塞巴斯蒂安

@Sebastian我认为我还可以(使用Xcode 8,但之前运行过9)。我仍然可以选择(Xcode> Window> Devices)来添加其他模拟器。如果我们可以验证这一点,则可能值得打开一个新主题。您可以添加旧的模拟器吗?
bauerMusic'9

我的另一个朋友确认它也在为他工作。因此,可能是我的系统出现问题。因此,我想这只是一个“ 如果您更改任何内容,可能会出错”的故事;-)(如果您不更改,它们将会发生)
Sebastian

@Sebastian您可以从“设备”中重新添加它们吗?
bauerMusic

昨天我不能(“ [...]我不能添加新的”。),“添加模拟器”对话框中的“创建”按钮什么也没做。但是,我只是重新打开了已经废弃的Xcode 8,昨天我尝试创建的所有模拟器都可以正常运行。我也可以添加新的。@bauerMusic,感谢您促使我重新检查。
塞巴斯蒂安

2

要安装多个Xcode实例,可以将它们放在不同的文件夹中,例如/Developer5.0.2/Xcode,但是要在CI或构建环境(命令行)中使用它们,则需要在构建过程中设置一些环境变量。您可以在此处获得更多说明。因此,它不仅适用于Beta和新发行版,还适用于真正的旧版本,您可能需要将其与不支持最新Xcode版本的Marmalade或Unity插件一起使用(有时会发生)。


2

使用Xcode-install Ruby Gem安装多个版本的Xcode

如果您使用xcode-install RubyGem,则可以轻松完成整个过程

如果您已经安装了Xcode CommandLineTools和Ruby(建议您使用Homebrew来安装Ruby),但是如果您使用sudo或作为用户安装Gem,我认为它也可以与macOS提供的Ruby一起使用。 。(有关GitHub页面的详细信息),基本上:

    $ gem install xcode-install
    $ xcversion list
    6.0.1
    6.1
    6.1.1
    6.2 (installed)
    6.3
    $ xcversion install 8
    ######################################################################## 100.0%
    Please authenticate for Xcode installation...

    Xcode 8
    Build version 6D570

要将版本选择为活动版本,您将运行:
$ xcversion select 8

要将版本选择为活动版本并更改/ Applications / Xcode上的符号链接,请运行:
$ xcversion select 8 --symlink

xcode-install也可以使用Simulators命令来管理本地模拟器。

阅读GitHub Project页面上的说明以获取更多信息。


0
  1. 首先,从计算机上删除当前的Xcode安装。您可能可以跳过此步骤,但我想重新开始。另外-Xcode最近表现得有些怪异,所以这是个很好的机会。
  2. 从App Store安装Xcode 8。确保项目文件(.xcodeproj)和工作区文件(可以使用新的Xcode安装打开 .xcworkspace)(请记住在出现提示时选择“以后”选项)。
  3. 从Apple下载Xcode 7.3.1 dmg文件。双击新下载的dmg文件,以获取标准的“拖动以在您的Applications文件夹中安装Xcode”。不要那样做 而是将Xcode图标拖到桌面。将文件名更改为Xcode 7.3.1。现在将其拖到“应用程序”文件夹。

现在,您的计算机上安装了两个版本的Xcode。Xcode 7.3.1和Xcode 8。

详细信息:并排安装Xcode 7和Xcode 8


0

无论您采用什么建议路径,请复制项目文件夹,然后重命名最外部的文件夹,以反映正在打开的XCode版本。您是否要更新语法的选择,但这是主要原因。这一切都是您的情节提要,只要看一下就会改变。新读者将来遇到这个问题时,可以解决此问题,或者


0

如果您已经从appstore安装了新版本的xcode,则所有更新都将在appstore中提供。如果仅粘贴下载的版本,则appstore将显示安装未更新。因此,请将从Appstore下载的稳定版本保存在您的Applications文件夹中。

要尝试新的Beta版本,我通常将其放在单独的驱动器中,然后解压缩并安装在那里。这样可以避免在使用稳定版本时感到困惑。

为避免混淆,您只能在扩展坞中保留稳定版本,然后从Spotlight(Command + Space)打开Beta版本。这会将Beta暂时放置在基座上。但这将确保您不会意外地编辑Beta版本的客户端项目。

最重要的是:-在两个不同的xcode上处理同一项目可能会产生一些不必要的结果。就像在某些版本的xcode中引入的界面生成器中的错误一样。这打破了约束。下一个又修复了。

跟踪发行说明以确切了解哪些是附加功能以及哪些是已知问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.