在不同的iOS SDK下编译iphone应用程序

时间:2011-07-29 10:16:48

标签: iphone ios ios4 iphone-sdk-3.0 backwards-compatibility

我有基本SDK 4.3的xcode 4。我将部署目标设置为3.0。虽然我的应用程序与4.3基本SDK运行良好,但我如何针对旧版本(主要是3.x SDK)进行编译?我找不到提供该SDK的下载链接。在Apple的开发网站上,下载xcode 3的链接仅与最新的4.3 iOS SDK捆绑在一起。我也没有3.0的真实设备。我的假设是,验证3.x中兼容性的唯一方法是针对其SDK(3.x)进行编译。

由于

编辑:使用4.x SDK在{x}中运行3.x SDK - http://0xced.blogspot.com/2010/07/using-sdk-313-with-iphone-sdk-4.html

2 个答案:

答案 0 :(得分:2)

您不应该使用较低的SDK编译它,只需将部署目标设置为3.0即可让您的应用在运行3. *的设备上运行。模拟器只会让你到目前为止,你的应用程序编译并不意味着它会运行。

尝试让您使用旧的第一代iPhone或iPod touch,它们非常适合开发。

如果您确实使用了SDK的更新版本,请确保不要调用在较低系统版本中无法使用的任何方法/类。

答案 1 :(得分:0)

这不是一个确切的答案,但我有同样的问题,我做的是在iPad 3.2模拟器上运行应用程序。我有xcode版本4.0.1,它有iPad 3.2模拟器。但是,问题是它仍然会编译(至少是我的编译),但是当应用程序运行时,它会在遇到前一个SDK中不存在的选择器时发出SIGABRT。其中一种方法是self.window.rootViewController,只能在iOS4及更高版本中找到。