2011-03-09 12 views
14

我已經升級到4.3版本的SDK附帶的XCode 4。如何使用XCode 4定位4.2版本

但我們想確保我們的應用程序運行於4.2及更高版本的設備上,而不僅僅是4.3。

XCode中是否有可以配置的設置,因此我們不必強制升級所有人?

回答

26

有在項目設置兩個設置會影響您的應用程序將支持平臺:

  • 基礎SDK:構建期間使用的基本SDK的名稱或路徑。
  • 部署目標:代碼將加載此iOS及更高版本的iOS。

第一個設置您鏈接的SDK,第二個設置您的應用將支持的iOS版本。要了解關於部署目標設置該注意的是:

框架的API,在 早期版本無法使用,就會弱聯; 在調用更新的API之前,您的代碼應該檢查空值 函數指針或特定系統 版本。

因此,如果您使用的只是4.3中存在的任何API,請確保這些框架是弱鏈接的,並且您的代碼在使用這些API之前先檢查iOS版本。

+2

而不是檢查iOS版本,大多數情況下,最好檢查空函數指針,或使用-respondsToSelector :,等等。 – Elliot 2011-10-27 06:51:48

+1

我不知道爲什麼這是公認的答案。問題在於,在XCode 4中,4.2的部署目標下拉框中沒有條目,只有4.3條。此外,XCode 4中的組織者說:「不支持的設備。此版本的Xcode不支持」iPod touch(第2代)「類型的設備。」似乎蘋果已經放棄了這些需要4.2的舊設備的開發。 – 2012-11-15 22:42:55

15

您應該始終將base sdk設置爲最新版本,然後支持的最低版本由「部署目標」設置確定。

只要部署目標的設置與/低於4.2,它應該是很好..

+0

+1謝謝你解釋。 – pokstad 2011-03-10 00:13:00

+0

我正在使用'Xcode 4.3.3(4E3002)',並且我已經將'Base SDK'設置爲'Latest iOS(iOS 5.1)'和'Deployment Target'爲** 4.2 **,但是當我部署構建應用程序到我舊的越獄iPod(**版本4.2.1 **)沒有任何反應。我有組織者將輸出構建部署到設備,它說** info.plist指定設備功能要求,這是我的iPod無法滿足的**。我修改了** info.plist中的** UIRequiredDeviceCapabilities **到** armv6 **,現在它說**這個應用程序確實支持這個設備的CPU類型**。任何想法? – anonim 2012-11-16 13:39:45