iOS开发,导入静态库引发的 Unknown type name
2017-04-21 本文已影响621人
LanWor
最近集成第三方SDK遇到了找不到系统类的奇葩问题:
本来按照官方文档的步骤来集成的,结果一编译报了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区分开编译,这样总是就解决了。