2012-01-06 77 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