缘由

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

1
2
- 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 的问题就解决了。

环境

  • macOS 10.12 (16A323)
  • Xcode 8.0 (8A218a)
  • Swift 2.3 & 3.0
  • pod env
    1
    2
    3
    4
    5
    6
    7
    8
    CocoaPods : 1.1.0.rc.2
    Ruby : ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
    RubyGems : 2.6.6
    Host : Mac OS X 10.12 (16A323)
    Xcode : 8.0 (8A218a)
    Git : git version 2.8.4 (Apple Git-73)
    Ruby lib dir : /usr/local/Cellar/ruby/2.3.1/lib
    Repositories : master - https://github.com/CocoaPods/Specs.git @ 4c6b006e04df8bde3561a9517e7aa3997767fa50

参考