Bloodline's Blog Notes and thoughts from Bloodline

升级Cocoapods 1.0的经历

Comments

前言

Cocoapods是比较好用的第三方框架管理工具。唯一蛋疼的是速度update的时候速度太慢,当然是用离线模式(–no-repo-update)可以加快速度,但是真正需要更新的时候,真的就只能花半天时间喝茶聊天了。好消息是1.0的版本明显减少了update的时间,实在忍不住去升级。

升级——美好的理想

当然这个理想是很容易实现的。使用命令 sudo gem install cocoapods 很容易实现pods升级。 注意:之前beta版本的时候需要添加 --pre 才能安装。

升级项目——残酷的显示

当然,升级后 podfile 文件的格式需要修改,这点就看文档好了。 升级完成当然要“作一下”。pod install一下的确比较快。然后构建下却发现有错误。如图: cocoapods01

即便在这里改了,在 ReactiveCocoaMasonry 库中的代码依然会报错。

这个错误折磨了几个月,每次升级到1.0的beta,重新 install 就会有此错误。我一直以为是我的项目配置的问题,每次试验都会把项目配置改的面目全非,最后依然有错。只好一次次退回pods到0.39版本。

问题的解决

最终在 StackOverflow 上看到:

Cocoapods 1.0: Header files not found error using cocoapods “use_frameworks!” SWIFT

然后觉得与 use_frameworks! 有关,同时跟缓存有关,还有可能需要升级 ReactiveCocoaMasonry 的版本。

于是cd /Users/XXX/Library/Developer/Xcode/DerivedData/,然后删掉 DerivedData 下的目录。同时将 ReactiveCocoa 改为 4.0.1Masonry 版本改为 ~> 1.0.0。注意ReactiveCocoa4.1 版本将需要Xcode 7.3以上的支持。所以在此把版本定为 4.0.1 。同时需要注意此问题4.0.1 possibly breaks semver? #2704

于是再次 pod install 然后构建便没有错误了。至此升级Cocoapods完美成功。

后来试下了Archive,也没有问题。