无法为未定义 class 定义类别

Cannot define category for undefined class

我目前正在尝试在 XCode 8 中编译 chromium,现在正在 Mac 特定部分。不幸的是,对于这个 header: https://chromium.googlesource.com/chromium/src.git/+/52.0.2743.82/base/mac/sdk_forward_declarations.h,我得到一个编译器错误,因为对于多个 类,这个文件只包含一个前向声明,然后是一个类别定义。例如搜索 "CBPeripheral".

我可以在另一个项目中重现这个问题,只需将其添加到 obj-c header 文件中即可:

@class Test;

@interface Test (Blah) {
}
@end

我不明白 chromium header 是如何编译的,但显然可以。那么,我在这里缺少什么?

实际上,这是 XCode 的新 "feature" 8. 代码在 XCode 中编译良好 7.

iMac:src $vi base/mac/sdk_forward_declarations.h

在下面添加这两行进行编译:

#import <CoreBluetooth/CBPeripheral.h>
#import <CoreBluetooth/CBUUID.h>