Xcode 3.2(在Snow Leopard上)构建10.5的错误。

15

我刚刚在XCode 3.2上创建了一个新的Cocoa项目。我正在Snow Leopard上运行它。

当我将其构建为10.6时,它可以正常工作,但如果我将活动SDK更改为10.5,则会出现以下错误:

cannot find protocol declaration for 'NSApplicationDelegate'
1个回答

33

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

如果我为10.5编译,我在Xcode中会收到相同的错误消息。 - Jorge
哈,我的错。在10.5上没有定义MAC_OS_X_VERSION_10_6,所以我们必须按照10.5的逻辑来处理。答案已经修正。 - nall
3
谢谢,这对我有用。Jorge,你需要接受这个答案! - Raj Pawan Gumdal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接