导入PCH文件之后报错unknown type name 'NSString'

导入PCH文件之后报错,找不到NSString,UIKit,Foundation等,报错:

error: expected identifier or '('

@class NSString, Protocol;

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:494:9: error: unknown type name 'NSString'

typedef NSString * NSExceptionName NS_EXTENSIBLE_STRING_ENUM;

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:495:9: error: unknown type name 'NSString'

typedef NSString * NSRunLoopMode NS_EXTENSIBLE_STRING_ENUM;

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:497:19: error: unknown type name 'NSString'

FOUNDATION_EXPORT NSString *NSStringFromSelector(SEL aSelector);

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:498:44: error: unknown type name 'NSString'

FOUNDATION_EXPORT SEL NSSelectorFromString(NSString *aSelectorName);

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:500:19: error: unknown type name 'NSString'

FOUNDATION_EXPORT NSString *NSStringFromClass(Class aClass);

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:501:53: error: unknown type name 'NSString'

FOUNDATION_EXPORT Class _Nullable NSClassFromString(NSString *aClassName);

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:503:19: error: unknown type name 'NSString'

FOUNDATION_EXPORT NSString *NSStringFromProtocol(Protocol *proto) NS_AVAILABLE(10_5, 2_0);

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:503:50: error: declaration of 'Protocol' must be imported from module 'ObjectiveC.runtime' before it is required

FOUNDATION_EXPORT NSString *NSStringFromProtocol(Protocol *proto) NS_AVAILABLE(10_5, 2_0);

^

In module 'ObjectiveC' imported from /Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:9:

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/usr/include/objc/runtime.h:78:28: note: previous declaration is here

typedef struct objc_object Protocol;

^

While building module 'UIKit' imported from /Users/cbwl/Library/Developer/Xcode/DerivedData/BBJD-dimoovxwuxypokadrohgluegljkb/Build/Products/Debug-iphonesimulator/SDAutoLayout/SDAutoLayout.framework/Headers/UIView+SDAutoLayout.h:55:

While building module 'Foundation' imported from /Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h:8:

In file included from :1:

In file included from /Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:8:

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:504:61: error: unknown type name 'NSString'

FOUNDATION_EXPORT Protocol * _Nullable NSProtocolFromString(NSString *namestr) NS_AVAILABLE(10_5, 2_0);

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:508:30: error: unknown type name 'NSString'

FOUNDATION_EXPORT void NSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2) NS_NO_TAIL_CALL;

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:508:53: error: format argument not an NSString

FOUNDATION_EXPORT void NSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2) NS_NO_TAIL_CALL;

~~~~~~~~~~~~~~~~^~

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:98:49: note: expanded from macro 'NS_FORMAT_FUNCTION'

#define NS_FORMAT_FUNCTION(F,A) __attribute__((format(__NSString__, F, A)))

^~

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:509:31: error: unknown type name 'NSString'

FOUNDATION_EXPORT void NSLogv(NSString *format, va_list args) NS_FORMAT_FUNCTION(1,0) NS_NO_TAIL_CALL;

^

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:509:63: error: format argument not an NSString

FOUNDATION_EXPORT void NSLogv(NSString *format, va_list args) NS_FORMAT_FUNCTION(1,0) NS_NO_TAIL_CALL;

~~~~~~~~~~~~~~~~^~

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:98:49: note: expanded from macro 'NS_FORMAT_FUNCTION'

#define NS_FORMAT_FUNCTION(F,A) __attribute__((format(__NSString__, F, A)))

^~

While building module 'UIKit' imported from /Users/cbwl/Library/Developer/Xcode/DerivedData/BBJD-dimoovxwuxypokadrohgluegljkb/Build/Products/Debug-iphonesimulator/SDAutoLayout/SDAutoLayout.framework/Headers/UIView+SDAutoLayout.h:55:

While building module 'Foundation' imported from /Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h:8:

/Applications/XCode8.1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk/usr/include/objc/module.map:8:10: error: module 'ObjectiveC.NSObject' requires feature 'objc'

解决:

在PCH中添加#ifdef ObjectC,即可解决

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先如果遇到应用卡顿或者因为内存占用过多时一般使用Instruments里的来进行检测。但对于复杂情况可能就需要用...
    攻克乃还_阅读 2,058评论 0 7
  • two Last login: Tue Aug 4 17:09:57 on ttys000 yushengyang...
    aofeilin阅读 1,090评论 1 9
  • 放一篇之前一直在私人笔记里的参考,也就是个参考手册,用到的时候回来看看。 ‘$’ 作为引用关键字 ex:$PROJ...
    SMThree阅读 4,006评论 0 13
  • 原文地址:http://www.cnblogs.com/oc-bowen/p/5916630.html 主要为了自...
    今天又要上班吗阅读 1,371评论 1 4
  • 今日经历:过往不恋 如果打开一个小口,那么就会想腐败一样,慢慢的侵蚀精神和灵魂,坚持原则! 今天的文章有129次阅...
    磐石yy阅读 211评论 0 0