2011-09-03 63 views
1

我是初學Apple開發者,我有一些問題想解決。iPhone和SDK不同版本的兼容性問題

首先,我正在使用Xcode 3.2.6,因爲我還沒有註冊開發人員程序。我想知道蘋果是否只接受在SDK 4上編譯的應用程序(用於App Strore)。 其次,我希望我的應用程序可以在iPhone 3和iPhone 4上運行。您建議我做什麼?我已經閱讀過幾個開發者論壇,爲了實現這個目標,我必須用3.1 iOS構建我的應用程序。它是否正確? 最後,由於iPhone 3和iPhone 4的分辨率不同,是否有任何問題?你認爲我應該使用哪個分辨率?

謝謝你在前進, 櫻桃

+0

閱讀此[回覆](http://stackoverflow.com/questions/3027120/how-to-make-iphone-app-compatible-with-multiple-sdk-firmware-versions/3027213#3027213)關於兼容性多個iOS版本 – progrmr

回答

2
  • 組基本SDK到最新版本(4.3)。
  • 將目標SDK設置爲3.1。
  • 避免僅適用於iOS 3.2或更高版本的功能(例如,不要使用塊,不要在iOS 3.2或更高版本中引入框架,始終檢查方法的可用性)。後來,當您獲得Objective-C的更多經驗時,您可能會嘗試將更多現代iOS的功能組合起來,但仍然保持與較老iOS的兼容性。
  • 不用擔心解決方法。它僅影響圖像 - 如果您想充分利用Retina顯示器,則需要爲兩種分辨率(標準和高分辨率)創建圖像。

P.S.我建議你避免支持iOS 3.2或更早的版本。 iOS 4引入了很多不錯的和有用的功能。我非常確定,蘋果將在iOS 5發佈後立即撤銷對iOS 3.x的支持。

+0

許多設備都停留在3.1.3,無法升級,但仍然購買應用程序。您選擇支持與否。 – progrmr

+0

只有iPhone(原裝)和iPod touch(第一代)無法升級到iOS 4. *。所有其他設備可以升級至少達到iOS 4.2。 –

1

如果你瞄準的是iOS 3,那麼你最終將不會使用大多數iOS 4的功能。

這是蘋果的聲明。

瞄準最新的iOS版本。

Targeting the latest release allows you to take advantage of all the features 
available in the latest version of iOS. However, this approach may offer a smaller 
set of users capable of installing your application on their devices because your  
application cannot run on iOS releases that are earlier than the target release.` 

目標更早的IOS版本。

Targeting an earlier release lets you publish your application to a larger set of 
users (because your application runs on the target OS release and later releases), 
but may limit the iOS features your application can use.` 

但我建議你瞄準了iOS 4的人現在瞄準的iOS 5,而在另一個8個月,我相信蘋果將發佈iOS 6中(他們是非常快與他們的更新),而且我個人認爲,針對iOS 3的長期運營並不會帶來很好的結果。

+0

目前只有10-15%的設備運行3.x,但我仍然通過在設備上存在4.x功能時在我的應用程序中支持它。 – progrmr