使用多个版本的Xcode

使用Mac App Store版本的Xcode是保持最新状态的最简单方法。 根据系统偏好设置中的App Store设置,应用程序将自动更新,或者在更新可用时操作系统会提示您。

如果使用最新版本始终是最好的选择,那么生活将会很简单。

生活不是那么简单!

用于构建应用程序的Xcode版本具有许多重要的后果。

  • 它设置您要针对的基本SDK版本。 这可以隐式地使您选择使用某些OS功能。 例如,使用Xcode 8.x中的iOS 10 SDK构建时,您的应用将采用新的Today Widget外观。 使用Xcode 7.x(针对iOS 9 SDK)进行构建,即使在iOS 10上运行,您的应用也将使用iOS 9样式的小部件。
  • 对于Swift代码,语言本身的版本可以更改。 在Swift 2.x到3.0的时间范围内,该语言经历了许多重大且不兼容的更改时,这一点尤其重要。 还在使用Swift 2.3吗? 您不能使用Xcode 8.3或更高版本。
  • 支持较早的操作系统版本。 Xcode在放弃对较旧的iOS版本的模拟器支持方面非常积极。 如果您希望模拟器对当前和以前的主要iOS版本提供更多支持,则通常无法使用最新的Xcode版本。
  • Xcode Beta。 在撰写本文时,WWDC 2017即将开始。 如果要开始针对Beta OS版本进行测试或利用新的API,则需要使用Beta版的Xcode。 您无法发布使用Beta版Xcode构建的应用程序更新。

拥有多个版本的Xcode可提供更大的灵活性。 尝试保持最新状态是一种很好的做法,但是有时您需要能够发布使用旧版本构建的应用程序。 如果您的应用尚未准备好加入所有新功能,但您需要发布更新,则在9月左右公开发布主要iOS版本之后,这一点尤其重要。

安装多个版本的Xcode

为了获得最大的灵活性,最好的方法是手动下载特定版本的Xcode,而不是使用Mac App Store版本。 Apple在其网站https://developer.apple.com/download/more/上提供了Xcode发行版本的下载链接。 在WWDC和公开发行版之间,可以从https://developer.apple.com/download/下载最新版本的Xcode。 该页面上当前版本的链接仅会打开Mac App Store。 最好使用手动下载。 有时需要一些时间才能使最新的公共发行版可供手动下载。

安装特定版本很容易。

Xcode 8和更高版本(.xip):

  • 下载。 下载.xip文件。
  • 取消存档。 双击“下载”文件夹中的.xip文件以将其取消存档。

Xcode 7和更早版本(.dmg):

  • 下载。 下载.dmg文件。
  • 安装。 双击.dmg文件。 安装程序建议将Xcode.app拖到Applications文件夹中。 如果您在/ Applications中已经有一个Xcode.app(也许是Mac App Store版本),请不要这样做。 而是将其拖到桌面上。

有了Xcode.app文件后:

  • 改名。 重命名Xcode.app文件以包括版本号(例如“ Xcode8.3.2.app”)以标识版本并设置唯一的文件名。 Beta版Xcode的下载文件已经具有唯一的名称,并且不需要执行此步骤(除非您更喜欢使用备用名称)。
  • 移至/ Applications。 将文件拖到“应用程序”文件夹中。

只有将Xcode版本重命名并移至/ Applications后,才能安全启动它。 之后再移动其位置可能会引起问题。 首次启动时,Xcode有时会提示您安装命令行工具。 让Xcode做到这一点最简单。

对要安装的每个Xcode版本重复此过程。 随着时间的流逝,您将建立一些版本,并可以删除不再需要的版本。 Xcode是一个大型应用程序,占用大量磁盘空间。

命令行工具

具有更复杂构建过程的开发人员更喜欢从命令行进行构建。 在最新版本的Xcode中,可以从Xcode的“首选项”窗口中的“位置”选项卡中选择要使用的命令行工具版本:

或者,可以使用xcode-select命令行工具查看或选择使用哪个版本的Xcode工具:

  $ sudo xcode-select -s /Applications/Xcode9b1.app/Contents/Developer 
  $ xcode-select -p 
/Applications/Xcode9b1.app/Contents/Developer

启动不同的Xcode版本

Xcode 确实不喜欢多次运行。 在启动其他版本之前,请确保退出Xcode和模拟器。

要检查当前正在运行的Xcode版本,请打开Xcode的关于菜单:

使用Finder双击Applications文件夹中的特定Xcode版本,或从Spotlight搜索中选择正确的版本。 注意:Spotlight有时会调整向您展示不同版本的顺序!

XcLauncher

另外,我的XcLauncher菜单栏应用程序的功能之一是启动特定版本的Xcode:

XcLauncher的主要功能是直接在系统菜单栏中为您喜欢的Xcode项目,工作区和游乐场提供书签。 有关更多信息,请访问我的网站或在Mac App Store中查看。

您可能喜欢的其他文章

如果您是iOS开发人员,那么您可能会对我长期运行的系列文章感兴趣,这些系列文章展示了应用如何根据更新的设备尺寸而适应,具体取决于它们所使用的Xcode版本:

  • iPad Apps如何适应新的11英寸和12.9英寸iPad Pro
  • 应用如何适应Series 4 Apple Watch屏幕尺寸
  • iOS应用如何适应iPhone XS Max和iPhone XR屏幕尺寸
  • iOS应用如何适应iPhone X屏幕尺寸

这些文章中的屏幕截图来自运行我的Adaptivity iOS应用的iOS模拟器。 该应用程序只有一个iPhone版本,可以显示iPad上的仅iPhone应用程序的显示方式(在iOS 12中已更改)。

您可能没有意识到iOS 12中的iPad导航栏和工具栏高度发生了变化。

我还写了有关iOS上的外部显示支持的文章。

如果您发现这些文章中的任何一条对您有帮助,请在iOS App Store中查看我的应用程序,以查看是否有您要下载的内容(尤其是付费😀)。