Ответ 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