今天swift項目,cocoapods 導(dǎo)入三方庫pod 'ReactiveCocoa', '~> 5.0.4'遇到了些小狀況
導(dǎo)入操作如下:
pod install-
設(shè)置
User Header Search Paths為${PODS_ROOT}并且為遞歸搜索recursive
User Header Search Paths設(shè)置
由于Xcode版本為9, 使用的swift版本為Swift 4.0, 所以報了一大堆錯誤, 需要將 版本將為 Swift 3.2
-
Project ->Swift Language Version 設(shè)置為
Swift 3.2
Project Pods下
ReactiveCocoa和ReactiveSwift和Result下的 ->Swift Language Version 都設(shè)置為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)設(shè)置為Yes
- Project中將Always Search User Paths設(shè)置為No
- DEFINES_MODULE 設(shè)置為 Yes
- CLANG_ENABLE_MODULES 設(shè)置為 Yes
恩。。。以上全沒有效果
解決方案:
經(jīng)過仔細觀察,發(fā)現(xiàn)原來之前報錯的文件是 這個文件module.modulemap, 而且是在 ReactiveCocoa目錄下的一個.modulemap文件,在Finder里面打開

QQ20171101-121711@2x.png
- 嘗試注釋module.modulemap文件內(nèi)容,之后 再 build,世界清靜了,(但是 pod install 之前要把這個注釋改回來,執(zhí)行完 pod install 之后再注釋,適合走投無路的下下策)
- 將路徑補全,再build,世界和平了(推薦該方法)

喵喵喵

