Xcode 6 – 未知types名称'NSString'/预期标识符或'('

当我在Xcode 6中运行我的项目时,出现了许多奇怪的错误。

Parse Issue - Unknown type name 'NSString' Format argument not an NSString Could not build module Foundation Could not build module QuartzCore 

所有这些错误都发生在Apple的头文件中,例如:CAMediaTiming.h,NSObjCRuntime.h,NSZone.h,NSObject.h,CALayer.h等

不幸的是,在这里的答案: 在NSObjCRuntime,NSZone和NSObject的parsing问题没有为我工作。

你如何build议我修复这些错误?

问题是我的项目中有一些.c文件,显然Xcode 6不喜欢.c文件。

我将.c文件的扩展名改为.m,Xcode 6又快乐了!

如果您有一个PrefixHeader文件导入Objective-C代码,并且在您的项目中还有一些纯C文件,则可能会出现此错误,因为C文件尝试导入Objective-C。

要修复,像这样包装你的objective-c导入:

 #ifdef __OBJC__ #import <OOObjectiveCClass.h> #endif 

看看前缀头文件path是否正确放置在生成设置选项卡下。 请在下面的链接查看完整的答案。

检查这个职位

我使用Xcode 8.3.3,我也遇到了这个问题,我通过select文件解决了这个问题,并在身份和types部分的Xcode的右侧面板中selecttypes为Objective-C ++。

您也可以尝试删除FacebookSDK文件夹中的Samples文件夹(然后删除Xcode中的引用。