Здание для 10.5 в Xcode 3.2 (на Snow Leopard) ошибка

Я только что создал новый проект Cocoa на XCode 3.2. Я запускаю его в Snow Leopard.

Когда я создаю его для 10.6, он отлично работает, но если я изменю активный SDK на 10.5, я получу эту ошибку:

cannot find protocol declaration for 'NSApplicationDelegate'

Ответы

Ответ 1

NSApplicationDelegate - это новый протокол с 10.6. Вы получаете ошибку (я предполагаю), потому что ваш делегат приложения реализует этот протокол. Я не уверен, что это лучшая практика, но вы можете просто использовать препроцессор, чтобы помочь вам:

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