Xcode 6 - 未知类型名称'NSString'/预期标识符或'('

Gan*_*ham 9 xcode objective-c ios xcode6 ios8

当我在Xcode 6中运行我的项目时,我遇到了许多奇怪的错误.

Parse Issue - Unknown type name 'NSString'
Format argument not an NSString
Could not build module Foundation
Could not build module QuartzCore
Run Code Online (Sandbox Code Playgroud)

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

不幸的是,这里的答案:ios - NSObjCRuntime,NSZone和NSObject中的解析问题对我不起作用.

您如何建议我修复这些错误?

Gan*_*ham 19

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

我将.c文件的扩展名更改为.m,Xcode 6再次开心!

  • c文件用于c代码... m文件用于objective-c (4认同)

oly*_*ise 18

如果你有一个PrefixHeader文件导入项目中的Objective-C代码和一些普通的C文件,你可以得到这个错误,因为C文件试图导入Objective-C.

要修复,请包装您的objective-c导入,如下所示:

#ifdef __OBJC__
#import <OOObjectiveCClass.h>
#endif
Run Code Online (Sandbox Code Playgroud)


Oma*_*man 6

查看Prefix Header文件路径是否正确放置在Build Settings选项卡下.请在以下链接中查看完整答案.

查看这篇文章