如何使iPhone App与多个SDK(固件)版本兼容

时间:2010-06-12 01:21:27

标签: iphone iphone-sdk-3.0 compatibility ios4

随着iOS4即将推出,我已经计划在未来的应用程序更新中加入iAd。我认为这将使我的应用程序无法用于固件低于4.0的任何人。有没有办法根据用户的固件更改变量和.xib文件? 欢呼声。

1 个答案:

答案 0 :(得分:71)

是的,您可以使用最新的SDK(即:5.1)进行构建,并且仍然可以在具有早期版本固件(SDK)的设备上运行。

  • 将部署目标设置为您希望能够运行的最早版本,即:3.0。
  • 您将Base SDK设置为您正在编译的最新版本,即:5.0。这样,您可以在代码中引用较新的定义和符号。本文"SDK and Deployment Targets"详细讨论了部署与基础SDK。
  • 指向库/框架的链接较弱,其符号仅在较新的iOS中可用。这样您的应用就可以在没有新符号的设备上运行。
  • 在致电之前,您必须check to see that a newer method is available。只有当您的应用程序位于<时,您才必须确保不要调用5.0或4.X的方法。 4.0设备。当然,您必须通过使用旧方法或不支持需要更新SDK支持的特定功能来优雅地处理旧版本。
  • NEW w / XCode 4.2 :要支持旧设备,您需要add armv6从构建体系结构 remove armv7设备功能。

请参阅以下SO问题和答案以获取更多详细信息: