2010-08-18 37 views
1

我有興趣測試我的當前iPhone應用程序與舊版本的SDK(3.1.3)。 我知道我可以編譯我的代碼以在此版本的SDK上運行,但我想測試它以確保它仍然可以工作,因爲我使用的是較新的API並使用弱鏈接,因此它可以繼續在較舊的iOS上工作版本。自從將XCode升級到最新版本以來,iOS 3.1.3不是在iPhone模擬器中運行的選項。所以我下載了舊版本的XCode,並將其並行安裝在文件夾/Developer/XCode Old中。但是,當我嘗試編譯我的代碼並在舊版本的XCode中運行它時,它扼殺了SDK無法識別新類的符號的事實 - 即使它們鏈接較弱。 有沒有辦法讓我的應用程序在舊SDK中運行,以便我可以檢查它的工作?XCode的多個副本 - 針對早期版本的iPhone SDK的測試代碼

我也嘗試降級我的測試iPhone上的iOS,但它沒有奏效。我猜,蘋果很難降級iOS。並且我對越獄我的iPhone不感興趣,讓我降級它讓我測試它。爲什麼蘋果很難讓你的應用與舊版本的操作系統兼容?

回答

2

有沒有辦法讓我的應用程序在舊的SDK中運行,所以我可以檢查它的工作?

否。圖書館需要在鏈接時存在;弱連接意味着它們不需要在加載(或延遲加載)時間存在。

使用舊的「Base SDK」進行編譯也會改變正在編譯的內容,因爲__IPHONE_OS_MAX_ALLOWED(或其他名稱)會有所不同。類似的做法是編譯4.0版本,但在3.1.3模擬器中運行該應用程序,但不起作用—蘋果公司最近只在其模擬器框架中增加了向後兼容性。

我只想問一個在3.1.3上的人來測試。獲得運行3.1.3的iPod Touch應該不會太困難,並且應該還有很多用戶。如果您與用戶有任何聯繫(電子郵件,推特),那是一個選擇。