Skip to content

解决因 Cocoapods 版本原因导致的 pod trunk push 问题

Published: at 07:22 AM

缘由

最近对 FYLogger 做 Swift 3.0 的适配,在提交新版本到 Cocoapods 的时候,执行 pod lib lint 时遇到以下莫名其妙的问题:

- ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
- NOTE  | [iOS] xcodebuild: xcodebuild: error: 'App.xcworkspace' does not exist.

经查证,是 Cocoapods 版本的问题导致(在 CocoaPods 1.1.0.rc.2 已修复,见 https://github.com/CocoaPods/CocoaPods/issues/5843)。

但在执行 sudo gem install cocoapods --pre 升级 Cocoapods 版本的时候,更新到的是 1.1.0.beta.2 版本,反复多次尝试还是一样,以上问题仍然存在。

后来想,是不是因为 gem 源导致更新到的 Cocoapods 不是最新版本,执行 gem sources -l 查看,原来是把源修改成了 https://ruby.taobao.org/

gem 源改成 https://ruby.taobao.org/ 的优势是速度比 https://rubygems.org/ 快,但是淘宝的源更新并没有官方及时,导致部分情况下不同步的问题,这个 Cocoapods 版本就是个案例。

方案

把 gem 源改成官方的:

gem sources --add https://rubygems.org/ --remove https://ruby.taobao.org/

然后执行 sudo gem install cocoapods --pre 升级 Cocoapods 到最新的 1.1.0.rc.2 版本(截至目前是),然后 pod lib lint 的问题就解决了。

环境

参考