2009-09-30 47 views
15

我剛剛在XCode 3.2上創建了一個新的Cocoa項目。我在Snow Leopard中運行它。在Xcode 3.2(Snow Leopard)中爲10.5編譯錯誤

當我建立這10.6它工作正常,但如果我更改活動的SDK 10.5我得到這個錯誤:

cannot find protocol declaration for 'NSApplicationDelegate' 

回答

33

NSApplicationDelegate是new protocol as of 10.6。你得到的錯誤(我猜),因爲你的應用程序委託實現這個協議。我不知道這是否是對這個最好的做法,但你可能只是考慮使用預處理,以幫助您:

#if (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_5) 
@interface MyAppDelegate : NSObject 
#else 
@interface MyAppDelegate : NSObject <NSApplicationDelegate> 
#endif 
+0

如果我編譯10.5我在Xcode – Jorge 2009-10-01 08:11:39

+0

收到同樣的錯誤消息哈,我壞。 MAC_OS_X_VERSION_10_6沒有在10.5中定義,所以我們必須保持10.5的邏輯。修復了答案。 – nall 2009-10-01 15:38:20

+3

Thanx這爲我工作。豪爾赫你需要接受這個答案! – 2010-03-31 04:40:49