iphone - 如何使 iPhone 应用程序兼容多个 SDK(固件)版本

标签 iphone iphone-sdk-3.0 compatibility ios4

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

最佳答案

是的,您可以使用最新的 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在调用它之前。您必须确保仅当您的应用程序位于 < 4.0 设备上时才调用 5.0 或 4.X 的方法。当然,您必须通过使用旧方法或不支持需要新 SDK 支持的特定功能来优雅地处理旧版本。
  • XCode 4.2 新增功能:要支持旧设备,您需要 add armv6构建架构 remove armv7从所需设备功能的 plist 中。

请参阅这些问题和答案以了解更多详细信息:

关于iphone - 如何使 iPhone 应用程序兼容多个 SDK(固件)版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3027120/

相关文章:

iphone - 在Three20 TTLauncherView中更改页面控制点的颜色

iphone - Xcode 4 中的 ShareKit - 很多已弃用

javascript - 如何检查应用程序是否从 Safari 中的 JS 安装?

iphone - 如何隐藏 UITableView 中的某个部分?

iphone - 如何判断用户是否是第一次打开我的应用程序?

javascript - JavaScript 和 jQuery 选择器的浏览器兼容性问题

iphone - iPhone应用发布后的星级

iphone - iphone 中的 UIButton 事件

java - Android Studio 和 Eclipse

sqlite - 向后兼容 sqlite DB