R – Building for 10.5 in Xcode 3.2 (on Snow Leopard) error

osx-leopardtargetxcode

I just created a new Cocoa project on XCode 3.2. I'm running it in Snow Leopard.

When I build it for 10.6 it works fine but if I change the active SDK to 10.5 I get this error:

cannot find protocol declaration for 'NSApplicationDelegate'

Best Answer

NSApplicationDelegate is a new protocol as of 10.6. You're getting the error (I'm guessing) because your application delegate is implementing this protocol. I'm not sure if this is the best practice on this, but you might just consider using the preprocessor to help you:

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