Xcode 9导入Bosch MySpin框架报错:无法引用头文件
嘿,我之前也踩过第三方框架导入Xcode后找不到头文件的坑,针对你这个博世MySpin框架的情况,给你几个实用的排查和解决方向:
检查Build Phases的关联配置
先确认框架已经被添加到目标应用的Build Phases->Link Binary With Libraries列表里。如果没在里面,点击+按钮找到这个框架添加进去。另外,有些第三方框架需要被拷贝到最终的产品包中,你可以看看Copy Files这个阶段有没有配置:把Destination设为Frameworks,并勾选Copy only when installing选项。调整头文件搜索路径
进入目标应用的Build Settings,搜索Header Search Paths,把博世MySpin框架所在的文件夹路径添加进去,建议用相对路径(比如$(PROJECT_DIR)/你的框架存放文件夹名),并设置为recursive(递归搜索)。同时也检查下Framework Search Paths,确保框架的路径已经被正确包含在内。确认框架的头文件暴露规则
有些静态框架的头文件可能没设置为Public,你可以右键点击框架文件选择Show in Finder,打开框架的Headers文件夹,看看你需要的头文件是否在里面。如果是动态框架,试试用模块导入的方式:@import MySpin;,代替传统的#import <MySpin/XXX.h>,说不定能解决问题。清理缓存重新构建
Xcode的缓存有时候会搞出莫名其妙的问题,试试执行Product->Clean Build Folder(按住Option键就能看到这个隐藏选项),然后关闭Xcode,手动删除DerivedData文件夹(路径一般是~/Library/Developer/Xcode/DerivedData),再重新打开项目构建一次。检查版本兼容性
你用的是Xcode9,得确认博世MySpin框架是否支持这个版本的Xcode以及对应的SDK版本。有些旧框架在新Xcode里会有兼容性问题,建议查下官方文档或者联系博世的技术支持确认版本匹配度。
另外,如果你之前是拖拽导入的,不妨试试手动添加:右键点击项目导航栏里的Frameworks组,选择Add Files to "你的项目名",找到框架文件后选择Create groups,同时勾选Copy items if needed和对应的目标应用,再重新试试。
内容的提问来源于stack exchange,提问作者h3nr1ke

