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

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

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

cannot find protocol declaration for 'NSApplicationDelegate'

person Jorge    schedule 30.09.2009    source источник


Ответы (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
person nall    schedule 30.09.2009
comment
Если я компилирую для 10.5, я получаю такое же сообщение об ошибке в xcode - person Jorge; 01.10.2009
comment
Ха, моя беда. MAC_OS_X_VERSION_10_6 не определен в 10.5, поэтому мы должны сохранить логику в терминах 10.5. Исправлено в ответе. - person nall; 01.10.2009
comment
Спасибо, это сработало для меня. Хорхе, тебе нужно принять этот ответ! - person Raj Pawan Gumdal; 31.03.2010