60

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

4

1 回答 1

71

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

  • 将您的部署目标设置为您希望能够运行的最早版本,即:3.0。
  • 您将 Base SDK 设置为您正在编译的最新版本,即:5.0。这样您就可以在代码中引用较新的定义和符号。本文“SDK 和部署目标”详细讨论了部署与基础 SDK。
  • 与仅在较新 iOS 中可用的符号的库/框架的链接较弱。这样您的应用程序就可以在没有较新符号的设备上运行。
  • 在调用它之前,您必须检查是否有更新的方法可用。您必须确保仅当您的应用在 < 4.0 的设备上时才调用 5.0 或 4.X 的方法。当然,您必须通过使用旧方法或不支持需要更新 SDK 支持的特定功能来优雅地处理旧版本。
  • 带有 XCode 4.2 的新功能:要支持旧设备,您需要将 armv6 添加到构建架构中,并从所需设备功能的列表中 删除 armv7

有关更多详细信息,请参阅这些 SO 问题和答案:

于 2010-06-12T02:12:07.163 回答