是否可以同时安装多个版本的Xcode?
如果是这样,请发布任何提示,技巧或潜在问题,以备注意.
编辑:
我想安装多个版本的原因是尝试新的sdk beta,但如果新的Xcode有问题,我希望能够将旧版本用于我现有的项目.
是的,您可以安装多个版本的Xcode.它们将安装到单独的目录中.我发现最好的做法是首先安装Mac附带的版本,然后安装下载的版本,但它可能没有太大的区别.有关许多详细信息,请参阅此Apple Developer Connection页面.
安装多个Xcode很容易.
在安装程序中有一个位置下拉菜单...您只需要在安装测试版时选择一个新位置.
来自Apple开发工具传播者的这些说明包含完整的详细信息(需要Apple dev用户名/密码):https: //devforums.apple.com/message/40847#40847
然后抓住你自己使用的Beta版XCode的自定义图标,这样你就可以在Dock中区分它们:http: //iphonedevelopment.blogspot.com/2009/03/multiple-developer-tool-installs.html
解决方案:
实际上,正如上面的许多答案所说,这是可能的.即使根据以下Oracle移动平台博客,您也可以在同一台Mac上安装多个XCode.您需要这样做的原因可能因您而异.
场景:
您现在可能只安装了一个版本的XCode.大多数是最新的XCode版本背后的版本,可通过App Store获得(我的Xcode 6.3.2,我需要保留它并安装可通过App Store购买的Xcode 7).
对于Ex: -
您已经安装了XCode 6.x,App Store已经在App Store中提供了XCode 7.出于任何原因,你需要保留旧的XCode 6.x(因为你知道它已经稳定一段时间了)而且你需要安装并试用新的XCode 7
所以第一个问题可能是,你可以下载的方式和位置适用于XCode 7的Mac OS X可安装DMG文件(或者如果你想尝试更旧的XCode版本,可能会这样)?好的,这是Apple下载的直接链接(您可能需要在正确查看此链接之前登录Apple Developer帐户),否则以下是StackOverflow Q&A链接,它提供了下载XCode IDE的DMG文件的位置的答案.
那么现在让我们假设您已经获得了二次安装所需的XCode版本的任何DMG文件?
步骤:
按照上面给出的步骤,我从上面给出的Oracles移动平台博客的第一个链接.
如果正在运行则关闭Xcode
重命名/Applications/Xcode.app
为/Applications/Xcode_6.x.app
出现提示时输入管理员密码
双击所需的预先下载的Xcode的DMG文件并进行安装
安装后,在运行之前,更改/Applications/Xcode.app
刚安装的新
设备(根据上面给出的示例)/Application/Xcode_7.app
[请耐心阅读本节,直到下一个注意事项]当您安装了两个版本的Xcode时,您的工作站也安装了两个版本的Command Line Tool(xcodebuild
).问题是在构建iOS App时,您的Terminal和Xcode构建命令将使用什么.因为与命令行工具一起,用于构建应用程序的iOS SDK也依赖于.
我的经验是我有两个Xcode版本.Xcode 10(iOS12.0的老版本 - iphoneos12.0)和Xcode 10.1(iOS 12.1的新版本 - iphoneos12.1).显然,选择命令行工具的设置是为了使用xcodebuild
旧应用程序中的工具.我不得不在Xcode首选项窗口中手动选择它.
选择Locations
选项卡,然后您可以选择所有已安装的命令行工具版本(即xcodebuild
).
在您的终端问题跟随命令:
$> xcodebuild -showsdks
上面的命令应该打印出当前Xcode配置用于构建应用程序的所有SDK详细信息.通过查看结果,您将了解您的iOS/iphoneos SDK版本取决于更改xcodebuild
Xcode 上的命令行工具()设置.
注意**:
以上给出Apple下载链接和Oracles MPF博客帖子链接可能会在将来更改和/或不可用.
所以我希望我的这个答案对那里的其他人有帮助!
干杯!
您可能希望在终端中使用"xcode-select"命令在已安装文件夹中的不同Xcode版本之间切换.
似乎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
请注意,如果使用xcodebuild
命令行工具,则安装的Xcode的最新版本将成为默认版本.(符号链接安装在/ usr/bin中.)要使用xcodebuild
其他版本的Xcode,您需要使用(xcode_install_directory)/usr/bin
目录中的版本.
note注意要在不同版本的Xcode命令行工具之间切换,请使用xcode-select
其他评论者提到的工具.