runtime.h无法编译,包含在iPad应用程序中

时间:2011-05-26 19:31:24

标签: objective-c ios ipad

我的iPad应用中的一个类使用#import <objc/runtime.h>来访问运行时功能。但是,在编译时(Apple LLVM编译器2.1),此文件无法编译:

Parse issue: Illegal interface qualifier

它似乎位于文件开头附近的@class Protocol行:

#ifdef __OBJC__
@class Protocol;
#else
typedef struct objc_object Protocol;
#endif

有谁知道可能导致此问题的原因?

2 个答案:

答案 0 :(得分:5)

我发现这是因为在.h文件末尾缺少@end指令。

我发现它是通过使用终端转到包含我的.h文件的目录并运行命令:“tail -n1 * .h”并查找任何不以“@end”结尾的文件,因为它们应该(至少在我的情况下)。

答案 1 :(得分:1)

听起来像是前一个#import出现的问题。检查紧接#import <objc/runtime.h>之前导入的头文件,看看它是否从未正确终止。