Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found

今天swift项目,cocoapods 导入三方库pod 'ReactiveCocoa', '~> 5.0.4'遇到了些小状况

导入操作如下:

  • pod install

  • 设置User Header Search Paths${PODS_ROOT} 并且为递归搜索 recursive

    Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found_第1张图片
    User Header Search Paths设置

由于Xcode版本为9, 使用的swift版本为Swift 4.0, 所以报了一大堆错误, 需要将 版本将为 Swift 3.2

  • Project ->Swift Language Version 设置为Swift 3.2

    Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found_第2张图片
    Project

  • Pods下 ReactiveCocoaReactiveSwiftResult下的 ->Swift Language Version 都设置为Swift 3.2

Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found_第3张图片
Pods

再build,显示Success,nice~

Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found_第4张图片
iu.jpeg

然鹅,燃鹅,

Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found_第5张图片
工程使用ReactiveCocoa

只能代码提示 ReactiveSwift, 我的ReactiveCocoa呢!???

Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found_第6张图片
WTF????
  • 没办法,强行键入 ReactiveCocoa然后 build
Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found_第7张图片
强行键♂入
  • 喵喵喵?Umbrella header 'ReactiveCocoa.h' not found
Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found_第8张图片
报错

看看三方库中有没有此文件


额,有此文件,为啥会找不到??? Google之,Stack Overflow之,找到了类似问题 StackOverflow 传送门

按照以下流程尝试解决:

  • Pods -> ReactiveCocoa -> Buiding Phases -> Headers 确认ReactiveCocoa.h是否是Public
  • 'Shift + Option + Command' clean 之后 再次Build
  • 将工程 Enable Modules (C and Objective-C)设置为Yes
  • Project中将Always Search User Paths设置为No
  • DEFINES_MODULE 设置为 Yes
  • CLANG_ENABLE_MODULES 设置为 Yes

恩。。。以上全没有效果

解决方案:

经过仔细观察,发现原来之前报错的文件是 这个文件module.modulemap, 而且是在 ReactiveCocoa目录下的一个.modulemap文件,在Finder里面打开

  • 尝试注释module.modulemap文件内容,之后 再 build,世界清静了,(但是 pod install 之前要把这个注释改回来,执行完 pod install 之后再注释,适合走投无路的下下策)
  • 将路径补全,再build,世界和平了(推荐该方法)
Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found_第11张图片
喵喵喵

你可能感兴趣的:(Swift项目导入ReactiveCocoa 流程出现 Framework: Umbrella header '[…].h' not found)