0
使用Xcode 4:2開發人員構建iOS應用程序,其中一個使用10.6.8,另一個使用10.7。在10.7中,NSURLConnectionDelegate接口是顯式的:它被定義並且可以被添加到接口聲明中。然而在10.6.8中,它沒有被定義,並且產生了編譯錯誤(NSURLConnectionDelegate:找不到協議聲明)。這個錯誤可以通過簡單地刪除聲明來解決。我正在尋找一個編譯器宏,該編譯器宏標識哪個OS版本的代碼正在構建,因此我可以修改代碼以與兩個OS版本兼容。喜歡的東西:哪些Xcode宏可以用來檢查編譯計算機的操作系統版本?
#if _CURRENT_OS_X_IS_10_7_OR_HIGHER
@interface appDelegate : NSObject<UIApplicationDelegate, NSURLConnectionDelegate> {
#else
@interface appDelegate : NSObject<UIApplicationDelegate> {
#endif
不幸的是那些沒有出現使用'#ifdef'報表的工作:這是一個'@ interface'聲明,所以它必須是編譯時,而不是運行時。 – Femi
檢入NSApplication.h。您還爲每個版本獲得了宏。 – Macmade
不幸的是,這似乎只是OSX:我的實際項目是一個iOS項目(iPhone應用程序),Foundation.framework樹中沒有'NSApplication.h'標頭。 – Femi