iOS开发,导入静态库引发的 Unknown type name 'NSString' 问题

最近集成第三方SDK遇到了找不到系统类的奇葩问题:


iOS开发,导入静态库引发的 Unknown type name 'NSString' 问题_第1张图片

本来按照官方文档的步骤来集成的,结果一编译报了23个错,都是expected identifier or '(' ,unknown type name 'NSString',could not build module 'Foundation',could not build module 'UIKit'。纳闷这Foundation和UIKit怎么会找不到,度娘了一下终于找到了答案:

在所在项目pch文件中,把自己所#import的头文件做如下操作

#ifdef __OBJC__

#import

#endif

分析了一下,第三方静态库可能是C OC C++文件混编,pch里面自加的头文件是全局性的,当在C文件import时其实是没有意义的,也就是问题出处,所以要ObjC区分开编译,这样总是就解决了。

引用地址:iOS开发,导入c文件引发的 Unknown type name 'NSString' 问题

你可能感兴趣的:(iOS开发,导入静态库引发的 Unknown type name 'NSString' 问题)