将 High Sierra 10.13.6 上的 Xcode 10.1 升级到 10.2

15

我正在尝试将Xcode 10.1更新到10.2,我的操作系统是High Sierra 10.13.6版本。

App Store窗口显示了更新按钮,但问题在于点击该按钮后,左上角的圆圈仅旋转数小时,没有任何其他反应!

enter image description here

由于两个版本之间的差别不大,自然情况下更新必须在一段时间后下载并安装,但实际情况并非如此!

请问如何解决这个问题?

4个回答

26

我正在使用High Sierra 10.13.6上的Xcode10.2,可以为我的iPhone 5s和6s Plus构建多个项目,并在iOS12.2上运行。该过程类似于Damnum的方法。

  1. 更改工作中的Xcode名称,例如为Xcode10.1。
  2. 下载Xcode 10.2并将其复制到应用程序文件夹中。(名称当然是Xcode。)
  3. 编辑Xcode.app/Contents/Info.plist并使用Xcode10.1将最低系统版本更改为10.13.6。
  4. 编辑Xcode.app/Contents/Applications/FileMerge/Contents/Info.plist并使用Xcode10.1将最低系统版本更改为10.13.6。
  5. 编辑Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/Info.plist并使用Xcode10.1将最低系统版本更改为10.13。
  6. 启动Xcode(它是10.2),安装其余的项目。
  7. 现在您可以在Xcode中使用iOS12.2功能。

我测试了自己的项目以及Neil Smyth的《iOS 12应用开发基础》中的几个示例项目。它们都可以在我的设备上正常工作,包括相机应用程序。


1
我已经成功更新了Xcode,但是在使用git时遇到了问题。当我尝试使用git status时,出现以下错误:可执行文件需要至少macOS 10.14,但正在运行的是macOS 10.13.6,因此退出。git:错误:无法找到xcodebuild,请确保正确设置了Xcode文件夹的路径!有人知道解决方法吗? - stellz
2
好的,我刚刚这样让它工作了:sudo xcode-select -s /Applications/Xcode-10-1.app/Contents/Developer。基本上,我改变了要使用的开发工具,从旧版Xcode转换过来。 - stellz
2
@charleslcso,在10.12.1版本中,Info.plist是二进制文件,我必须使用plutil -convert xml1 Info.plist命令将其转换为XML格式后才能在Sublime Text3中进行编辑。我猜想,使用Xcode编辑器可以直接编辑Info.plist文件。 - Elect2
1
@stellz 我也遇到了同样的错误:“可执行文件至少需要 macOS 10.14”,我尝试了你说的方法,但我的项目还是无法构建 :( - Andrew Fashion
@Tripod,进一步澄清一下,当您提到“使用Xcode10.1将最低系统版本更改为10.13.6”时,您是指要在新的/Applications/Xcode.app/Contents/Info.plist中实际更改-><key>CFBundleShortVersionString</key><string>10.2</string>为10.1吗? - Gr3go
显示剩余6条评论

7
请按照以下步骤操作:
  1. 通过此链接下载 Xcode 10.2(需使用您的 Apple ID 登录):https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_10.2/Xcode_10.2.xip,并安装它。
  2. 编辑 Xcode.app/Contents/Info.plist 文件,并将最低系统版本更改为 10.13.6。
  3. 对于 Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/Info.plist 文件也做同样的修改(可能需要重启 Xcode 和/或 Mac OS 才能使其在运行时打开模拟器)。
  4. 用来自 10.1 版本的 xcodebuild 替换 Xcode.app/Contents/Developer/usr/bin/xcodebuild。

非常感谢,+1。我升级到了Mojave 10.14.4,并在那里安装了Xcode,但我的应用商店在那里无法工作! - Franky
这还不够,Xcode的Info.plist文件还有其他参数,如“BuildMachineOSBuild”,它指的是10.14.3。实际上,按照您的说明,Xcode仍无法启动...在Interface Builder文件中搜索未知类GPUTesselationSliderCell...它正在寻找Mojave私有API方法... - Alessandro Ornano
我正在尝试在我的iMac上首次安装Xcode,它停留在10.13.6版本,因此我没有以前的安装文件可以获取xcodebuild文件。有任何想法从哪里可以获取该文件吗? - HMarioD
保存一小时的调试时间,跟随@tripod提供的被采纳的答案中的步骤。它更改了更多必要的版本。 - HRVHackers

4

两个版本之间的差别并没有那么大,例如Swift 5.0允许在不嵌入Swift库的情况下构建项目。

Xcode 10.2不能在High Sierra上运行。它需要macOS 10.14.3。


我需要从High Sierra升级到Mojave吗? - Franky
1
确实,你必须 - vadian
这是一个品味问题。就个人而言,每三次主要更新我会进行一次清洁安装。对于Mojave更新,我只运行了安装程序。 - vadian
4
一个原因是我怀疑他们是为了销售更多的新硬件。 - Damnum
1
@vadian,这很有趣。你正在使用第三方补丁工具吗?因为2012年之前的任何版本都没有官方支持。 - Damnum
显示剩余13条评论

0

由于现有的答案/评论中似乎没有提到,为了完整起见,在High Sierra(macOS 10.13.2)上运行的Xcode的最后一个版本是9.4.1,但在macOS 10.13.6上,Xcode的最后一个支持版本是10.1。


来自{{link1:Xcode想要在高Sierra 10.13.6上安装}}:

https://en.wikipedia.org/wiki/Xcode 有一个很好的兼容版本总结。看起来对于10.13.6,您需要Xcode 9.4.1

https://developer.apple.com/download/more/上查找

然而,一旦将9.4.1安装在10.13.6上,那么AppStore会提供一个CLT的更新到10.1版本,

CLT for Xcode 10.1 update

当检查维基百科页面的 Xcode 7.0 - 10.x 部分时,可以看到上面的引用(完全)不正确,这取决于您安装了哪个版本的High Sierra:

Xcode 7.0 - 10.x compatibility


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