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
浙公网安备 33010602011771号