CocoaPods 的安装

Posted 长风随笔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CocoaPods 的安装相关的知识,希望对你有一定的参考价值。

CocoaPods是什么?

CocoaPods应该是ios最常用最有名的类库管理工具了.


CocoaPods的安装

CocoaPods可以方便地通过Mac自带的RubyGems安装

打开TerminalMac电脑自带的终端),然后按照以下提示操作即可:

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.  CocoaPodsiOS程序的依赖管理


以上是关于CocoaPods 的安装的主要内容,如果未能解决你的问题,请参考以下文章

CocoaPods安装与使用

Mac下安装CoCoaPods及使用CoCoaPods管理第3方库

cocoapods-Cocoapods上的库怎么更新

CocoaPods安装和使用教程

CocoaPods安装及使用

iOS CocoaPods安装和使用图解