2011-11-03 128 views
0

我在xcode 4.2中使用基本sdk 5.0創建了一個項目。在創建項目時,我沒有檢查顯示的所有3個選項,當我們在iOS 5.0上創建新項目時,即。故事板,使用ARC幷包含單元測試。寫完我的代碼後,我想在xcode 3.2.5/iOS 4.2上運行這個代碼,但由於iOS 5使用@autoreleasepool而不是NSAutoreleasePool,因此會出現錯誤。我將如何在iOS4.2上運行它在iOS模擬器4.2/xcode3.2.5中運行iOS5/xcode 4.2中的項目構建

回答

4

如何使用舊的main.m?

#import <UIKit/UIKit.h> 

int main(int argc, char *argv[]) 
{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    int retVal = UIApplicationMain(argc, argv, nil, nil); 
    [pool release]; 
    return retVal; 
} 

另一件事。 「故事板」和「ARC」僅在iOS 5中受支持。因此,如果您想在iOS4中運行此功能,這也會成爲問題。

摘要: 如果你想向後兼容,在你想支持的最低版本上編寫你的程序,那就沒事了。使用舊的main.m,保留而不是強大的,沒有故事板或ARC,它適用於iOS> = 4.

+0

可以說我使用的是包含NSAutoreleasePool的舊main.m,而不是使用@autoreleasepool。但另一個問題與財產申報中的強關鍵詞有關。它們只能在5.0版本中使用。所以,我也必須改變它們。就故事板和ARC而言,我不會在sdk 5.0中使用它們。所以,他們贏了,不會在4.0或4.2中產生任何問題。 – anshul

+0

使用保留而不是強 - 我看到沒有問題。無論如何,現在的問題是什麼?你知道什麼是錯的,以及如何解決它。 – Sharky

+0

該問題與向後兼容性有關。只要做這兩件事情,我能夠部署在iOS4或4.2上使用iOS5編寫的代碼嗎? – anshul

相關問題