2010-06-28 83 views
2

我在我的Mac上安裝了sdk 4。 我需要提交一個在OS 3和OS 4上運行的版本? 我的選擇是什麼?我可以再次安裝sdk3,並提交我的應用程序。Iphone SDK 4?

如果我使用SDK4構建它是否會在OS 3的設備上運行? 我沒有使用任何功能從操作系統4

+0

可能重複http://stackoverflow.com/questions/3089216/building-for-lower-version-number-for -iphone-distribution) – 2010-07-07 16:09:34

回答

0

雖然您可以在目標構建屬性中設置基礎SDK,但最新的Xcode只有3.2和4.0,而前者只有iPad。相反,您需要下載舊版本的Xcode(3.2.2)以在iPhone上爲3.x開發。您可以將不同的Xcode套件安裝到除/ Developer之外的其他文件夾中。訣竅是找到舊版本的Xcode。我保存了我的副本(我強烈建議您始終保留1或2個版本),但他們不易從主開發人員網站鏈接。你可以去http://connect.apple.com並在下載 - >開發者工具下找到它們。

這是一種令人費解的。真的應該有一種方法來將基礎SDK安裝到最新的Xcode版本中。當Xcode 4發佈時,我們是否必須使用舊界面來開發向後兼容的應用程序?

開發舊版固件的細節也在previous thread中進行了介紹。

+3

實際上並沒有那麼複雜:將你的Base SDK設置爲4.0,將你的部署目標設置爲3.1.3,並且只要你的應用程序沒有調用你在3.1上構建和運行的任何3.2或4.0 API .3或3.2或4.0設備。詳細[這裏](http://stackoverflow.com/questions/3088624/support-legacy-iphone-users/3122653#3122653) – progrmr 2010-06-28 22:46:00

+0

謝謝,完美的答案。問題是我將基礎sdk設置爲3.0而不是目標部署 – aryaxt 2010-06-28 22:57:16

+0

如果它解決了你的問題,你應該綠色檢查這個答案。 – 2010-07-05 22:30:53

1

在項目設置,您BASE SDK設置爲4.0

在目標設置中設置了部署目標SDK 3.0

NOTE(或2.x或任何你喜歡的。):如果您使用的是高於最低DEPLOY目標的API(,您使用4.0 API並部署到3.x),則必須檢查該API的可用性。要做到這一點的方法之一是:

// Code written in browser, not tested. 
- (BOOL) classIsAvailablie: (NSString*) className 
{ 
    Class *theClass = NSClassFromString(className); 
    return (theClass != nil); 
} 

// ... 

if ([self classIsAvailable: @"Some4.0OnlyClass"]) 
{ 
    // ... 
} 
的[建築爲iPhone分配較低版本號](