我製作了一個通用的iPhone/iPad應用程序(僅從iPhone過渡),但在未來的版本中,我將切換至iOS 4專用功能。如果你使你的iPhone應用程序具有通用性,你可以在未來的版本中撤銷它嗎?
對於我的應用程序的下一次更新,我可以只更新iPhone版本嗎?
我製作了一個通用的iPhone/iPad應用程序(僅從iPhone過渡),但在未來的版本中,我將切換至iOS 4專用功能。如果你使你的iPhone應用程序具有通用性,你可以在未來的版本中撤銷它嗎?
對於我的應用程序的下一次更新,我可以只更新iPhone版本嗎?
您將不得不更新這兩個應用程序,因爲它們被捆綁成一個單一的二進制文件。但是,使用條件編碼(例如,if !(UIUserInterfaceIdiom() == UIUserInterfaceIdiomPad) {
- 請注意,我總是以這種方式檢查iPhone/iPod Touch,因爲它在OS 3.1.3或更低版本上,它將不會返回任何內容),您可以使其僅適用於iPad版本。
至於反向使其成爲通用 - 進入您的項目和目標設置,並將「目標設備條目」更改爲iPhone或iPad。升級目標的選項應該再次出現。
由於iPad運行iOS3.2,您的代碼必須同時處理兩者。
if ([[UIDevice currentDevice].systemVersion isEqualToString:@"4.0"]) {
[self doOs4Stuff];
} else {
[self doOs3Stuff];
}
雖然你必須小心使用4.0特定的API,加載,以防止其崩潰的舊操作系統版本與像NSClassFromString()
技巧類。
我的例子也可以使用更強大的版本檢查,例如可以解析字符串來測試主版本是「4」還是「3」。