9

我可以在支持早期 iOS 版本的应用程序中使用 iOS 6 中引入的 API 和框架吗?

这是否只能通过变通方法和代码来实现,例如:

[[UIDevice currentDevice] systemVersion]

或者我是否能够在不指定版本的情况下在支持早期 iOS 版本的应用程序中使用更新的框架、API 等?

而且,我可以使用 Xcode 4.5,还是必须坚持当前的公开版本?

4

1 回答 1

18

在操作系统和工具链最终确定之前,您根本无法发布使用 iOS 6 功能的应用程序。(更新:iOS 6 操作系统和 SDK 现在是最终版本。)

此时,您应该使用 iOS 6 SDK 并将您的部署目标设置为 iOS 5 的早期版本。您不会检查系统版本,而是弱链接新框架,并测试特定类或方法的存在在使用它们之前,等等。

另一个问题是,使用 iOS 6 工具和 SDK,您将不再支持 armv6 设备。您可以支持 iPhone 3GS 及更新机型,以及 iPad 的所有型号,但不支持 iPhone 3G 和原始 iPhone。但即使使用旧版应用程序,您也不应该再针对这些应用程序。

参考:

  • SDK 兼容性指南:“如果您希望您的应用程序针对特定版本或多个版本的 iOS 或 Mac OS X,请阅读此文档。”
于 2012-06-11T20:00:57.753 回答