2012-01-06 78 views
1

我不清楚如何判断iOS 5的新功能是否需要在设备上运行iOS 5版本,或者只需通过编译iOS 5 SDK。对iOS 5 SDK功能和iOS 5设备的功能感到困惑

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

回答

1

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

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

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

1

通常,您可以使用iOS SDK 5构建应用程序,该应用程序将在旧iOS上工作。

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

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

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

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