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

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

导入操作如下:

  • pod install

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

    User Header Search Paths设置

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

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

    Project

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

Pods

再build,显示Success,nice~

iu.jpeg

然鹅,燃鹅,

工程使用ReactiveCocoa

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

WTF????
  • 没办法,强行键入 ReactiveCocoa然后 build
强行键♂入
  • 喵喵喵?Umbrella header 'ReactiveCocoa.h' not found
报错

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

QQ20171101-093442@2x.png

额,有此文件,为啥会找不到??? 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里面打开

QQ20171101-121711@2x.png
  • 尝试注释module.modulemap文件内容,之后 再 build,世界清静了,(但是 pod install 之前要把这个注释改回来,执行完 pod install 之后再注释,适合走投无路的下下策)
  • 将路径补全,再build,世界和平了(推荐该方法)
喵喵喵
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,196评论 4 61
  • 最近在学习Swift,从网上下载了个Swift项目看看,结果pods update后遇到了: error: umb...
    OneByte阅读 11,657评论 3 4
  • 修改 gradle版本,从2.3.x 改成2.2.0 如果不想降级gradle ,那么到开发者选项 把 MIUI优...
    pdog18阅读 6,174评论 1 1
  • 即使旅游资源比不上邻居四川、贵州等地,但重庆以她火辣辣的样子依旧吸引着许多小伙伴,你可以认为这是旅游攻略,也可以认...
    爱玛阅读 4,272评论 0 9
  • 寄书冰花描声,景似有声,消融听声。 暖阳东升,飞雪成诗,吟诵意痴。 穷一世文武墨笔,惜广寒苍生迷深。 浮生寻根,缘...
    雨意生香阅读 2,629评论 7 9