2010-09-19 74 views
5

幾個月前,我收到了來自Apple的令人震驚的電子郵件,告訴他們他們會拒絕每個不是針對iOS 4.x SDK構建的應用程序。現在我想知道是否:是否仍有可能爲較老的iOS設備開發?

1)這是一個壞的笑話? 2)如果不是這樣:這是否意味着我的應用只能在iPhone4,iPod touch 4或任何安裝了iOS 4.x的設備上運行?

我下載了最新的iOS SDK,我只能針對3.2或4.1進行構建,我相信3.2僅適用於iPad。現在我可以丟棄6個安裝了較舊操作系統的iPod touch,或者我很幸運,仍然有一種方法可以爲它們編碼,而無需全部升級到4.1。

您認爲如何?什麼是真相?

+1

此問題假定4.x SDK僅用於定位4.x設備。那是不正確的。 「SDK」和「部署目標」有所不同。 – benzado 2011-08-23 22:36:21

回答

7

幾個月前,我得到了一個令人震驚的 電子郵件從蘋果,告訴他們 將拒絕每一個應用程序,是不是 內置的iOS對4.x版SDK。現在我 想知道是否:

1)這是一個壞的笑話?

不,但這是件好事。

首先,它鼓勵開發人員繼續使用最新的SDK。

其次,它鼓勵用戶更新到最新的固件。 (更少的錯誤,更多的穩定性,更少的安全漏洞)。

第三,它提供了一個固定的目標,您在提交應用程序時不得不擔心。如果蘋果針對iOS的每個版本進行了測試,那麼應用程序需要永久批准,並且最終會在特定設備上的特定固件版本上出現各種各樣的小錯誤。這將是瘋狂。

2)如果不是:這是否意味着我的應用程序 只會在非常鱸 設備一樣的iPhone4,iPod touch的4,或 任何設備已安裝的iOS 4.x的運行?

您可以在構建設置中爲您想要的任何設置部署目標,但我建議不要低於3.1.x的任何應用程序。由於(1),大多數用戶使用4.x,使用3.x的比例很小,而幾乎沒有人使用2.x或1.x.

我下載了最新的iOS SDK和我 只能建立針對3.2或4.1, ,我相信3.2僅適用於iPad。 現在我可以扔掉我的6 iPod 觸摸與安裝舊操作系統或我 幸運,仍然有一種方法來編碼 他們沒有升級他們全部到 4.1。

如果你有一個較老的iPod Touch(和我一樣 - 第一代),請保留它(3.1.3)以測試你的應用程序。不要把它扔掉。

+0

你會詳細介紹如何設置該部署目標?那究竟是什麼意思?例如,當我使用iOS 3.0中不可用的方法時,Xcode會告訴我嗎? (是的,我的每個iPod touch都在這裏......猜測開發人員是蘋果最好的客戶) – openfrog 2010-09-20 07:58:54

+0

您可以在項目的構建設置中設置部署目標:獲取項目信息並點擊「構建」選項卡。它向設備指定必須在設備上的iOS的最低版本,供設備運行該應用程序。 Xcode不會告訴你在3.0中有哪些方法,除非這些方法已被棄用。你必須弱化UIKit庫的鏈接,然後通過你的代碼來檢查,以及徹底的測試。 – 2010-09-20 16:33:18

3
  1. 不,它是「根據蘋果的法律」。
  2. 不,它不。有一個名爲「部署目標」的設置,您可以設置iOS 3.0或更高版本。用它。但是您必須針對iOS 4 SDK進行構建。

事實是蘋果所說的,以及我剛剛澄清的內容。 :)

+0

您可以詳細瞭解如何設置該部署目標?那究竟是什麼意思?例如,當我使用iOS 3.0中不可用的方法時,Xcode會告訴我嗎? – openfrog 2010-09-20 07:57:08

+0

SDK文檔告訴你什麼時候API變得可用,以及它何時(如果已經)已經被棄用。在方法上使用'command-option-double click'來調出該方法的內聯文檔。另外,在您的目標的構建設置中,您可以在其中找到「部署目標」。它有一個下拉列表,選擇一個。 – jer 2010-09-20 07:59:39

+0

在項目設置中,將「基礎SDK」設置爲「最新」,然後將您的「部署目標」設置爲儘可能低。我仍然支持3.0! (但不長久…)。 – 2011-06-20 04:27:48

1

您仍然可以爲較舊的設備開發。您只需將部署目標設置爲您支持的較舊的iOS版本即可。但是,您必須重新構建最新的SDK。

你可以找到官方documentation的更多信息。

+0

「針對最新的SDK構建」意味着將基礎SDK設置爲高? – openfrog 2010-09-20 10:16:01

0

從Xcode版本4.5開始,不再支持Arm v6的開發。這意味着您無法構建可在原始iPhone,iPhone 3G或第1代/第2代iPod Touch上運行的應用程序。如果您嘗試使用3G構建,它會給您一個警告,說它不是受支持的設備。

如果您需要支持那些較舊的設備,則必須使用Xcode 4.4.1。如果您使用該版本,則仍然可以通過設置部署目標來支持iPhone OS 3。你可以下載older Xcode versions from Apple

現實情況是,iPhone OS 3上的人很少,除非你有很好的理由,否則你應該碰到iOS 4. Check the stats,看看它是否真的值得。

相關問題