添加一个旧的SDK到Xcode 4

我已经读过,您可以在Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs目录中安装Xcode 4中的多个SDK。 没有明确的是如何获得这些不同的SDK。 我至less想testingiOS 4.0而不是最新的iOS 4.3。 虽然testing3.2也很酷。 我的Xcode 4只能在这个目录下安装最新的4.3 SDK。 有没有一种方便的方法来添加它们?

不幸的是,没有一个方便的方法。 最简单的方法是安装早期版本,然后逐步升级到最新版本。

当你安装Xcode 4.0时,你以前的版本被重命名为“Developer-3.2.5”。 如果你仍然安装了以前版本的Xcode,你可以简单地这样做:

 cd /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs sudo ln -s /Developer-3.2.5/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk . sudo ln -s /Developer-3.2.5/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk . 

如果您没有安装以前的版本,请卸载Xcode 4.x,然后安装Xcode 3.2并从此处逐步启动。 安装Xcode 4.x之后,您的旧版Xcode 3.x将在磁盘上重命名,之后您可以在Xcode 4.0下符号链接4.0 / 4.1 SDK。 重新启动Xcode 4.0将在下拉选项列表中为您提供4.0和4.1。

可从http://developer.apple.com/downloads下载的XCode下载包含回到4.0之前的包。 我最近遇到同样的问题,并能够确定:

  • 从4.1开始(也许更早一些 – 仍然在等待下载XCode 3.2.3和SDK 4.0.1),这些软件包包含了名称相当类似的子软件包
  • 尽pipe有内部软件包名称,但似乎实际的iOS SDK将包含在主要DMG文件中提到的版本中。 例如,xcode_3.2.5_and_ios_sdk_4.2_final.dmg可能包含一些版本的SDK包,但是iOS SDK只包含在4.2中。
  • 通过下载DMG XCode安装程序,查看软件包内容以及运行相应的iPhoneSDK4_X.pkg安装程序,我能够掌握4.1,4.2和4.3。
  • 安装完成后,我必须将从/Platforms/iPhoneOS.platform/中删除的内容复制到/Developer/Platforms/iPhoneOS.platform的新位置。
  • 除了用于iPhoneOS的SDK之外,我还确保iPhoneSimulator.platform的东西在那里。 对我来说,似乎XCode处理安装大多数设备支持debugging..

我希望这有帮助! 对我来说,棘手的部分是意识到包名可能是相同的,但内容可能会有所不同。 每个下载似乎只包含一个完整的SDK。

一旦我做到了这一点,我能够在XCode中更改我的基础SDK,并针对目标SDK进行构build。

干杯!

PS:一旦添加了额外的SDK,您可能会看到其他目标出现在您的scheme列表中,而物理设备的设备名称相同 它使我疯狂,因为每一个都与SDK的一个相关联,但SDK版本不列在列表中。 一旦找出哪个是哪个(通常症状是一个失败的构build),那就不错了,因为它基于select哪个物理设备来定位另一个SDK。 更多的信息在这个职位: 重复设备scheme在xcode 4