原文地址:macOS Sierra 执行pod update 失败:xxx abort pod update
环境:
macOS | Sierra | 10.12.3 正式版
cocoapods: 1.0.1和0.38.2并存,但用于执行pod update的是1.0.1的版本
xcode: 8.2.1
今天在更新了master分支代码后,pod update,但是没有生成新的.xcworkspace,pod update执行完成后,下方报错:
xxxx abort pod update
遇到这种第三方工具的报错,当然要积极google啦,于是找到这篇文章:cocoapods:update失败且不生成workspace。看上去和我的情况一模一样,只可惜解决办法不适用,因为我们整个项目组用的都是1.0.1版本的cocoapods,如果换成1.2.0版本的cocoapods,代价会很大。但是抱着试试的心态,我还是把cocoapods的版本升级了一下:
sudo gem uninstall cocoapods -v 1.0.1
sudo gem install cocoapods -v 1.2.0
然而可惜的是,cocoapods报了新的错:
Target 'XXX' has frameworks with conflicting names
大概是这样的一行错,其实这个时候应该pod update是没问题了,但是由于我本身项目的特殊性,这个错误google的结果说是cocoapods本身的一个bug,用1.0.1的版本是没有问题,再加上如果1.2.0能完美解决问题,对我来说也不是一个最佳的可取方案。
抱着最后试试的心态,我去苹果开发者网站下了个
macOS_Sierra_Developer_Beta_Access_Utility.dmg
运行后会自动打开app store,检查macOS的更新,正常应该会看到一个10.12.4.beta版本macOS,如果没有看到,重启电脑,再打开app store就有了。然后点击更新到这个版本,再重启电脑,把cocoapods回退到1.0.1版本,pod update,duang~好了,一切都很完美。
自从更新到macOS Sierra,真是各种问题啊。早上还遇到过在Finder里面右键选择zip一个文件夹,竟然不能zip成功的情况,强制重启了Finder才解决。
所以cocoapods出现的这个问题,我猜要么是更新系统后引起了cocoapods的环境发生了紊乱所导致的,要么就是10.12.3确实有bug,10.12.4beta修复了。
记录下这个问题,下次升级系统,千万不要在工作机上了,一定等稳定了再更新,要不然花费太多时间踩这种系统的坑也划不来啊。