2011-11-10 144 views
3

我已經提交了一個iPhone應用6次,並且在最後/當前版本的要求中,iPhone 3G不再被支持。支持iPhone 3G

我的問題:爲什麼我會失去這個模型?

我有一些話:

  1. 現在,應用程序不支持iPhone 3G了。 我做了一些搜索,我沒有找到任何關於它的消息。

  2. 在我提交此版本之前,我將XCode從版本4.0.2(iOS SDK 4.3)更新到版本4.2(iOS SDK 5)。
    也許在提交過程中,「Apple」檢查了二進制文件,以檢查我的工具版本(我使用的是我的應用程序)。 由於iOS 5無法安裝在iPhone 3G上,因此我失去了這種支持。

  3. 我擁有iPhone 3G以進行兼容性測試。
    和XCode 4.2一樣,我用我的iPhone 3G調試我的應用程序時遇到了麻煩。 但是,我找到了解決方案:添加架構armv6是不夠的我需要把一些薄弱環節。

    如果我將這些選項「特殊3G」提交給我的應用程序,這些選項是否會考慮在內,並且支持會回來?

    (見編輯)

  4. 「新事物」是我改變了我的蘋果賬戶:我提交了我的應用程序使用其他帳戶。 也許有些選項我沒有看到。


編輯:我忘了一部分,也許重要:iOS版的版本。

運行我的應用程序的iOS的最低版本是iOS 3.1。 而我的iPhone 3G在iOS 3.X上運行

而我在XCode 4.2和iPhone 3G上遇到的所有問題似乎都是iOS(3.X)的版本。

也許我的應用程序丟失的iPhone 3G的支持,以確保沒有與iOS SDK 5和iOS 3.X沒有問題

不過,也有用戶在iOS 3.x中運行的iPhone 3GS

我在iOS 4.0上運行一個iPhone 3GS做了一些測試:我沒有問題,沒有選項可以添加到我的項目設置中。


感謝您的回答。問題可能是我的XCode版本。

就像我說的,我已經添加了架構armv6。但是用我的iPhone 3G iOS 3.X,這還不夠。

您是否僅使用一臺iPhone 3G成功測試此設置?

我應該做的:

  1. 添加架構ARM6
  2. 設爲 「最新的iOS」(iOS版5.0)
  3. 基本SDK設置iOS的部署目標與最小值

---這是你的建議----

  1. 刪除到的info.plist參數「所需的設備能力」(ARMv6的和ARMv7)
  2. 添加SystemConfiguration.framework作爲可選(做一個薄弱環節)

有了這個設置,我的應用程序崩潰:「使dyld:找不到符號:__NSConcreteGlobalBlock」
所以我還要補充的標誌「其他鏈接器標記」 - weak_library /usr/lib/libSystem.B.dylib

這是我的一個問題:
如果我提交我的應用程序與這些選項「特殊的3G」,這些選項將被考慮和支持將回來?

+0

你解決了嗎? – tipycalFlow

回答

2

默認情況下,Xcode 4.2不包含對iPhone 3G的支持,但您可以將其添加回去。只需選擇您的應用程序目標並選擇「構建設置」。在頂部,將從「標準(armv7)」列出的體系結構更改爲「其他」。在彈出框中,選擇現有選項並單擊減號按鈕,然後單擊加號按鈕並添加「armv7」,然後再次單擊加號並添加「armv6」。 armv7將支持更新的芯片,而armv6將重新加入對iPhone 3G的支持......提供您將iOS部署目標設置爲iOS 4.2或更低版本... 3.x中的設置應該很好 - 只是限制你顯然不使用iOS的新功能。

您可能還需要在「生成設置」中的「其他C標誌」下添加「-mno-thumb」,但是如果我的內存正確地服務了我,那可能只有在您想要使用自動引用計數舊的架構 - 甚至只是因爲這是針對已知錯誤的解決方法。

+0

我發現了這個問題;這不是我的XCode或其他版本: 1.參數「必需的設備功能」(在plist文件中)必須刪除。在其他項目中,我沒有這個參數。 2.庫SystemConfiguration.framework不起作用:我需要重寫網絡狀態的檢測。 – user1039584

+0

該框架的唯一不適用於iOS 3.x的方法是SCNetworkReachabilitySetDispatcQueue,因爲Grand Central Dispatch是在iOS 4.0中引入的。換句話說,你基本上重構了你的應用程序,並且包含了該版本iOS中不支持的東西,但沒有告訴我們。 –

+0

我的問題與庫SystemConfiguration.framework是線程併發:CFRunLoopGetCurrent與CFRunLoopGetMain。有了這個問題和參數「必需的設備功能」,我無法用我的iPhone 3G進行調試:非常奇怪。所以,當你提交一個應用時,這是蘋果的限制。所以問題是:我失去了所有我提交的應用程序對iphone 3G的支持,或者僅僅是對於使用iOS sdk 5構建的應用程序的支持? – user1039584