有没有办法在Xcode中安装旧的iOS SDK?

时间:2011-09-06 12:54:22

标签: iphone ios xcode backwards-compatibility

我希望通过使用较旧的SDK编译它们以测试更新的类和方法来确保我的应用程序的一些向后兼容性。但是,Xcode仅适用于最新iOS版本的SDK。

我已经下载并安装了iOS 3.1.3 SDK(using the method described here)并且运行正常。我的代码是__IPHONE_OS_VERSION_MAX_ALLOWED,__ IPHONE_OS_VERSION_MIN_REQUIRED以及这样的respondsToSelector已满(不太满:-))。

这适用于iOS 3.1.3 SDK,但如果将来我想用4.0 SDK重复此过程会怎样?是否有在最新的Xcode中安装旧SDK版本的一般过程?

2 个答案:

答案 0 :(得分:11)

您无法在Xcode 4上安装旧的3.1 SDK。您可以将部署目标设置为较低,以允许在运行比当前SDK安装版本更旧的OS版本的设备上进行测试。在运行更新版本的Xcode时,唯一能够完全确保向后兼容性的方法是保持运行iOS 3.x的设备,并在该设备上进行测试。 (...因为声称旧的模拟器/工具有时实际上允许API不能在具有相同版本操作系统的实际设备上运行。)

其他方法包括在单独的Developer_XYZ目录中安装不同版本的iOS开发人员工具,或者使用旧的iOS开发人员工具安装保留可启动HD(比如Snow Leopard和Xcode 3.x,因为Lion可能只支持运行Xcode 4.x)。

答案 1 :(得分:5)

无论出于何种原因(我必须这样做来调试Apple错误),如果您仍需要在现有的Xcode上安装较旧的SDK,请按照以下步骤操作:

  • 安装较旧的Xcode包
  • 将旧的Xcode SDK复制到新的Xcode 例 (/old/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk to /new/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs)< / LI>
  • 重新启动'新'Xcode
  • 您将在构建设置选项(base sdk)
  • 中看到旧的SDK