cocoapods 总结

参考:http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/

 

安装

$ sudo gem install cocoapods(如果执行不成功先将ruby的软件源更换掉)
$ pod setup(执行pod命令之前需要先安装xcode,并打开首次打开xcode同意里面的协议)

如果你的 gem 太老,可能也会有问题,可以尝试用如下命令升级 gem:

sudo gem update --system

另外,ruby 的软件源 https://rubygems.org 因为使用的是亚马逊的云服务,所以被墙了,需要更新一下 ruby 的源,使用如下代码将官方的 ruby 源替换成国内淘宝的源:

gem sources -l
gem sources --remove https://rubygems.org/(不执行也可以)

gem sources -a http://ruby.taobao.org/
//需要注意的是现在mac改成https通信所以地址需要换一下:
gem sources -a https://ruby.taobao.org/

还有一点需要注意,pod setup在执行时,会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度。你也可以参考本文接下来的使用 cocoapods 的镜像索引一节的内容来提高下载速度。

Cocoapods版本更新

$ sudo gem update --system // 先更新gem,国内需要切换源
$ gem sources --remove https://rubygems.org/(可以不做,如果之前做了的话)
$ gem sources -a http://ruby.taobao.org/(现在已经不能用了)
$ gem sources -a
https://gems.ruby-china.org

$ gem sources -l \*\*\* CURRENT SOURCES \*\*\* http://ruby.taobao.org/ $ sudo gem install cocoapods // 安装cocoapods $ pod setup

//查看pod版本
pod -v(--version)

ERROR:  While executing gem ... (Errno::EPERM)Operation not permitted - /usr/bin/xcodeproj的解决办法:

sudo gem install -n /usr/local/bin cocoapods

然后pod setup

如果报错或者长时间卡着不动:

打开https://github.com/CocoaPods/Specs

fork到自己的账户下

将Spaces clone到本地:git clone https://github.com/CocoaPods/Specs.git(把这个地址改成你自己的)

将clone的Specs项目的文件夹改名为master,然后拖到/Users/用户名/.cocoapods/repos目录下

然后pod setup成功

 

pod setup error:

[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master

Cloning into 'master'...
error: RPC failed; curl 56 SSLRead() return error -36
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

解决办法:sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer(具体路径要根据自己的实际情况而定)

 

Cloning into 'master'...

fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': SSLRead() return error -9806

 

解决办法:brew reinstall git --with-brewed-curl --with-brewed-openssl

 

RPC failed; curl 18 transfer closed with outstanding read data remaining

解决办法:git config --global http.postBuffer 2M

 

Cocoapods升级可能导致的问题

ios archives 出现的是other items而不是iOS Apps的解决方案

参考:http://www.cnblogs.com/fengtengfei/p/4831011.html

虽然知道是本地版本和工程里面(podfile.lock中标示的cocoapods版本)不一致导致的问题,但是不知道怎么修改工程里面的cocoapods版本(我尝试了一下直接修改lock文件中的版本号,但是不对),最后没办法,我将Pods文件夹和Podfile.lock文件删除重新执行pod install才解决了这个问题

 

pod install/pod update更新慢的问题

最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动

原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update

pod update --verbose --no-repo-update

或者

pod install --no-repo-update

pod update --no-repo-update

posted @ 2015-10-21 09:56  zhiupping8  阅读(271)  评论(0)    收藏  举报