每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm。随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods。
CocoaPods项目的源码在Github上管理。该项目开始于2011年8月12日,经过多年发展,现在已经成为iOS开发事实上的依赖管理标准工具。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。
最近升级了最新的系统OS10.12.1,xcode也随之升级了。但是发现使用cocoaPods却出现问题了。应该是cocoaPods为了适配苹果的升级而进行了更新。好了接下来又要折腾一番了。
我先是按以下通用的步骤去弄,重新安装。
1、移除现有Ruby默认源$gem sources --remove https://rubygems.org/
2.添加新镜像(注意淘宝的镜像已经不能用了,https://gems.ruby-china.org 是可以用的。不过这步可能会特别久,但是暂时还没找到减少时间处理的方法。)$gem sources -a https://gems.ruby-china.org/
这也是一个坑,安装期间一直卡住。后来查资料发现淘宝镜像已经废了。
3.验证新源是否替换成功$gem sources -l
4.安装CocoaPods
(1) $sudo gem install cocoapods
备注:苹果系统升级 OS X EL Capitan 后改为$sudo gem install -n /usr/local/bin cocoapods
(2) $pod setup
5.更新gem$sudo gem update --system
以上是很常用的一种安装方法,我之前也是一直用这种。最近上网查资料偶然发现还有另外一种更简单的方法。git clone方法安装cocoapods
1、在终端中,进入该目录。cd ~/.cocoapods/repos
若没有以上目录,执行下面指令,出现.cocoapods的目录后可以ctrl+c终止安装。sudo gem install cocoapods
是常规的安装方法,不过现在只是用来建立一下.cocoapods目录。手动建立.cocoapods目录应该也是可以的,不过没试过。如果能进入~/.cocoapods/repos
的目录就忽略下面一条指令。sudo gem install cocoapods
2、克隆一个Specs库,在终端必须进入到~/.cocoapods/repos
的目录才执行以下命令。git clone https://github.com/CocoaPods/Specs
期间网络不好的话会失败,但是不要紧,重新再执行以下这条命令,直到提示安装成功。
3、完成后,执行open .
打开当前目录reposopen .
然后把Specs目录改名为master即可。~/.cocoapods/repos
的目录层级如下:
如果gitclone还慢的话,直接上https://github.com/CocoaPods/Specs
点击下载。根据上面的目录结构图,放对了就好。
安装中可能遇到的问题
运行pod后显示:”pod: command not found
“的错误。赋予/usr/local/bin
给予执行与读取权限,执行以下命令。sudo chmod 700 /usr/local/bin/
若不行,执行sudo chmod 777 /usr/local/bin/
安装cocoa pods后,在终端执行pod search
第三方框架时出错:[!] Unable to find a pod with name, author, summary, ordescriptionmatching AFNetworking
解决方案:执行rm ~/Library/Caches/CocoaPods/search_index.json
然后再执行pod search
第三方框架
以上2种方法,后者明显简单多了。推荐使用第二种方法。
安装成功之后就可以来试用一下,看看有没有问题。
1.新建工程,并在终端用cd指令到文件夹内$pod search 第三方
2.新建or打开文件$vim Podfile
写入以下内容并保存 小提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)platform :ios, '7.0'
target '项目target名' do
pod 'AFNetworking', '~> 3.1.0'
end
3.导入第三方库$pod install
补充:
- 1.使用
pod install
来安装新的库,即使你的工程里面已经有了Podfile,并且已经执行过pod install
命令了;所以即使你是添加或移除库,都应该使用pod install
。 - 2.使用
pod update [PODNAME]
只有在你需要更新库到更新的版本时候用。 - 3.最近使用
CocoaPods
来添加第三方类库,无论是执行pod install
还是pod update
都卡在了Analyzing dependencies
不动原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
- 4.如果是swift第三方则要在Podfile中添加
use_frameworks
感谢 - CocoaPods 的简单快速安装方法(Setting up CocoaPods master repo 卡着不动,是因为淘宝镜像已经不能用了。2016.10.27更新)
- 怎样在swift中创建CocoaPods