2010-08-06 73 views
2

我剛剛提交我的應用程序到應用程序商店,並收到許多意見,應用程序在舊版本的iPhone啓動時崩潰。部署目標設置爲3.1.3,基本sdk設置爲4.0。我以爲我沒有使用任何從4.0的API,所以唯一的問題可能是三庫20。iOS 4.0和3.0在一個mac上

現在我的電腦上安裝了兩個xcode。經過一些改動後,我的項目可以在最新版本(3.2.3)和3.2.1版本中建立,基本SDK設置爲3.1.3,部署目標爲3.0。我的應用程序可以在xcode和所有版本(範圍從3.0到4.0)的iphone模擬器中運行。

現在我的問題 - 如果我的項目可以使用基本sdk設置爲3.1.3來構建,它是否會在真實設備上運行,如果我使用4.0構建它並選擇部署目標爲3.0?我只能訪問使用iOS 4.0的真實設備,並且無法通過其他方式檢查是否一切正常。

+2

這就是爲什麼你總是需要測試運行你的操作系統的設備。操作系統版本不僅是一個潛在的問題,而且舊設備的硬件受到更多限制,並可能遇到內存和處理問題,後iPhone 3G S不支持。 – 2010-08-06 17:15:36

回答

1

使用4.0 sdk,您可以將部署目標設置爲3.0,將基本sdk設置爲4.0,並且應該沒問題。如果你已經安裝了舊的模擬器,那麼你可以在模擬器上運行這個構建(不要從3.1.3 base sdk重建!)以在那裏測試它,儘管有一箇舊設備會是理想的。

+0

然後有什麼不對的,因爲當我重建項目,一切都很好,但是當我運行它,我得到: 使dyld:找不到符號:_OBJC_CLASS _ $ _ NSAssertionHandler 我的項目中唯一的薄弱鏈接庫的UIKit,正如它在三個論壇上所指定的那樣。我不知道該怎麼做。 – iRybek 2010-08-06 15:45:44

+1

http://stackoverflow.com/questions/3275171/weak-linking-to-support-previous-ios-versions – 2010-08-06 17:46:04

+0

從你發佈的鏈接看來,沒有辦法檢查應用程序是否工作,即使在與舊的模擬器不同的xcode,我說得對嗎? – iRybek 2010-08-07 11:22:58