CocoaPods 的安装
Posted 长风随笔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CocoaPods 的安装相关的知识,希望对你有一定的参考价值。
CocoaPods是什么?
CocoaPods应该是ios最常用最有名的类库管理工具了.
CocoaPods的安装
CocoaPods可以方便地通过Mac自带的RubyGems安装
打开Terminal(Mac电脑自带的终端),然后按照以下提示操作即可:
1.设置ruby的软件源
这是因为ruby的软件源rubygems.org因为使用亚马逊的云服务,被我天朝屏蔽了,需要更新一下ruby的源,过程如下:
$ gem sources -l
出现的结果:
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
https://ruby.taobao.org/
http://rubygems-china.oss.aliyuncs.com
2.设置gem为最新版本
$ sudo gem update --system
出现的结果:
Latest version currently installed. Aborting.
添加一个source
$ gem sources --a https://ruby.taobao.org/
删除一个source
$ gem sources --remove https://rubygems.org/
更新source cache
gem sources -u
3.执行安装CocoaPods命令
注意:OS X 10.11 升级,虽然官方声称只是一个小的升级,但对于开发者而言,cocoapods需要重新安装
$ sudo gem install cocoapods
如果报以下错误:
ERROR:While executing gem.…(Erno:EPERM)
Operation not permitted -/usr/bin/xcodeproj
解决方案1:
执行下面的命令并重启
$ sudo nvram boot-args=“rootless=0”
$ sudo reboot
重启之后,执行这个命令检查
$ sudo gem install cocoapods -v
如果依旧有错误,使用第二个方案
解决方案2:
$ sudo gem install-n/usr/local/bin cocoapods
$ pod setup
还有一点需要注意,pod setup在执行时,会输出Setting up CocoaPods master repo,
但是会等待比较久的时间。这步其实是Cocoapods在将它的信息下载到~/.cocoapod:
目录下,如果你等太久,可以试着cd到那个目录,用du-sh*来查看下载进度。
安装成功后,你会看到:Setup completed
你也可以参考本文接下来的使用 cocoapods 的镜像索引一节的内容来提高下载速度。
使用 CocoaPods 的镜像索引
所有的项目的 Podspec 文件都托管在https://github.com/CocoaPods/Specs。
第一次执行pod setup时,CocoaPods 会将这些podspec索引文件更新到本地的 ~/.cocoapods/目录下,这个索引文件比较大,有 80M 左右。
所以第一次更新时非常慢,笔者就更新了将近 1 个小时才完成。
一个叫 akinliu 的朋友在 gitcafe 和 oschina 上建立了 CocoaPods 索引库的镜像,
因为 gitcafe 和 oschina 都是国内的服务器,所以在执行索引更新操作时,会快很多。
如下操作可以将 CocoaPods 设置成使用 gitcafe 镜像:
pod repo remove master pod repo add master https://gitcafe.com/akuandev/Specs.git pod repo update |
将以上代码中的 https://gitcafe.com/akuandev/Specs.git 替换成 http://git.oschina.net/akuandev/Specs.git 即可使用 oschina 上的镜像。
原理
大概研究了一下 CocoaPods 的原理,它是将所有的依赖库都放到另一个名为 Pods 项目中,然后让主项目依赖 Pods 项目,这样,源码管理工作都从主项目移到了 Pods 项目中。
发现的一些技术细节有:
Pods 项目最终会编译成一个名为 libPods.a 的文件,主项目只需要依赖这个 .a 文件即可。
对于资源文件,CocoaPods 提供了一个名为 Pods-resources.sh 的 bash 脚本,该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。
CocoaPods 通过一个名为 Pods.xcconfig 的文件来在编译时设置所有的依赖和参数。
参考资料:
1. 用CocoaPods做iOS程序的依赖管理
以上是关于CocoaPods 的安装的主要内容,如果未能解决你的问题,请参考以下文章