Xcode 5.0 XCTest:宏'NULL'的模糊扩展

Lea*_*s2D 3 xcode unit-testing objective-c c-preprocessor xcode5

我正在使用Xcode 5.我有一个OS X Framework/iOS静态库项目,其中混合的ObjC/C++代码和语言方言设置为C11/C++ 11.

我添加了一个使用XCTest 的Cocoa Unit Testing Bundle目标,我为iOS静态库和OS X框架创建了一个.

这是我的代码和我在两者中得到的错误:

-(void) testExample
{
    NSObject* world = [NSObject new];

    world = nil;  <--- Ambiguous expansion of macro 'NULL'
}
Run Code Online (Sandbox Code Playgroud)

运行iOS测试时,编译器告诉我它正在使用stddef.h中的NULL定义(第74行((void*)0)),另一个定义在usr/include/stdlib.h中(第115行__DARWIN_NULL).

OS X测试失败指向usr/include/MacTypes.h(第90行__DARWIN_NULL),这次替换是在stddef.h中(第74行((void*)0)).

谷歌在这个问题上什么都没有.我只是喜欢"嗯,我想这只是其中的一天......".

关于这里可能发生什么以及如何解决的任何线索?

更新:

未运行的iOS测试是由于使用OS X"Cocoa Unit Testing Bundle"创建了iOS单元测试包./我一巴掌

OS X测试问题仍然存在.但我有一种预感,即在OS X 10.9(Mavericks)上,这可能与缺少的10.9 SDK有关(Base SDK设置为10.8).

Jon*_*eid 12

在测试目标的"构建设置"中,尝试将"启用模块"设置为NO.

我在测试目标方面遇到了各种各样的麻烦,所有这些都是在预处理器扩展的基础上进行的.为我做这个固定的事情.