2009-05-25 103 views
2

作爲iPhone開發者計劃的註冊開發者,我收到了來自蘋果的消息,要求讓所有應用程序與iPhone os 3.0兼容。有人說,他們不會處理與iPhone不兼容的應用程序os 0針對iPhone os 2.2.1和iPhone os 3.0開發

問題是如果我更改代碼以使用iPhone OS 3.0,它將無法在2.2.1上工作。

例如SDK 2.2.1不支持這是在SDK 3.0的必需品如下:

cell.textLabel.text = @"text"; 

在2.2.1我反而寫:

cell.text = @"text"; 

而且這不唯一的問題。

你如何處理這個問題?

預先感謝您。

回答

3

沒有打破任何NDA。可以這麼說,因爲目前在2.0/2.2.1版本中構建的商店中的大多數應用程序也將在3.0以下工作......您將會理解,即使可能有API將最終被棄用,但並不意味着剛剛被棄用。這隻意味着,當您開始專門針對3.0開發應用程序時,應該停止使用它們。與此同時,你想繼續2.2.1的構建,就像你沒有聽說過3.0那樣。你只需要在3.0上測試你的應用程序,但除非你做了奇怪的事情,否則你不應該有任何問題。

+1

讓我補充一點,您確實不應該添加一些代碼,這些代碼將根據軟件版本進行分支......它只是使代碼路徑更難調試和測試。 – 2009-05-25 21:08:47

2

由於NDA沒有進入有關OS 3.0的細節;

您應該檢查this SO question and answer。 它顯示瞭如何區分操作系統。

編輯:我與弗朗索瓦P.同意

1

我很可能只是包裝每個這些實例的一個條件基於[[的UIDevice currentDevice] systemVersion],這將是形式爲「1.2」的一個NSString 「2.0」或「3.0」。

如果代碼中有很多實例,請通過方法進行抽象或使用類別擴展違規類。