困惑于iOS 5 SDK功能与iOS 5功能的设备

时间:2012-01-06 18:39:10

标签: ios ios5

我不清楚如何判断iOS 5的新功能是否需要在设备上运行iOS版本5,或者只是通过使用iOS 5 SDK进行编译即可获得该功能。

ARC就是一个例子。我了解它是否支持iOS 5 SDK在尚未升级到iOS 5的设备上。哪些文档告诉我哪些SDK功能需要在设备上安装iOS 5?

2 个答案:

答案 0 :(得分:1)

通常,您可以使用iOS SDK 5构建应用程序,该SDK将在较旧的iOS上运行。

每个项目的构建设置都有两个不同的参数,它们定义了基本SDK和iOS部署目标。 这首先定义了您用来构建应用程序的SDK。其次是您的应用程序所需的最低iOS版本。

构建此应用程序时,应注意不要使用比部署目标更新的任何函数/对象,因为编译器和链接器可以允许使用它,应用程序将在设备上崩溃。

Apple Docs当然总是包含information关于最低iOS版本的内容,这是对象所需要的。每个新版本始终包含更改日志,其中包含以前版本的更改。

示例:
Description of iOS 5 SDK
iOS 5 Release Notes

答案 1 :(得分:1)

您应该始终在应用程序中使用最新的SDK作为基本SDK。您始终可以使用“部署目标”设置来定位较旧的iOS版本,但您必须注意可以使用的新功能。

例如,iOS 5带来了两个有趣的新功能,即ARC和故事板。如果您的部署目标是iOS> = 4.0,则可以使用ARC,弱引用除外,但遗憾的是,它不适用于iOS4。故事板是不同的,它们需要iOS 5,它们在旧设备上根本不起作用!

如果您使用的是最新的XCode 4,则需要做一些额外的工作才能完全支持iOS 4或更早版本。这是因为已从所有模板中删除了armv6代码生成。较新的设备使用armv7指令集,但您可以编译应用程序,使其同时指向armv6和armv7指令集。有关此主题,请参阅我的other post