自己实践过的东西才记得清楚,因此这篇博文仅是用来记录我安装和使用CocoaPods的过程,部分内容参考自网上(感谢万能的互联网给我们宝贵的学习机会~~),我要为项目PasteBoard添加第三方库。
一、cocoapods安装。
cocoapods是用ruby实现的,因此需要ruby环境。庆幸的是,Mac已经预装了ruby,所以安装cocoapods根本不存在任何难度。过程如下:
(1)安装cocoapods
只需一行命令:
gem install cocoapods
但是,这个命令会很慢,这是因为rubygems.org使用的是亚马逊的云服务(from 唐巧),所以被墙了,需要更新下ruby源,国内可使用淘宝的ruby源,操作如下:
gem sources --remove https://rubygems.org/
过一会之后输入:
gem sources -a https://ruby.taobao.org/
验证一下ruby源是否替换成功:
gem sources -l
若终端出现如下字样说明成功换源:
*** CURRENT SOURCES*** https://ruby.taobao.org/
换源之后再次运行如下命令cocoapods就会很快安装完成:
gem install cocoapods//若提示权限错误,则在前面加个sudo即可
(2)使用cocoapods
①运行命令:
pod setup
会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息从 https://github.com/CocoaPods/Specs.git 上下载到 ~/.cocoapods目录(隐藏起来了)下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度。(from 唐巧)
②编写Podfile文件(用vim编写,保存为无后缀名)。这个文件里列出你需要用cocoapods加载的第三方库的信息,格式如下:
platform :ios pod "JSONKit", "~>1.4" pod "Reachability", "~>3.0.0" pod "ASIHTTPRequest" ...
对于具体某个库的写法,github对应库的页面上一般都会给出。编写完成后,将它放到PasteBoard文件夹下(与PasteBoard.xcodeproj处于同一目录)。
③cd进入PasteBoard文件夹目录,然后运行:
LayneMac:PasteBoard layne$pod install --verbose --no-repo-update
一般是pod install命令,但是被墙了,所以加入后边的参数跳过repo的更新。
完成之后会生成文件PasteBoard.xcworkspace,以后打开项目的时候要通过这个文件打开而不再是PasteBoard.xcodeproj。通过PasteBoard.xcworkspace打开项目后会发现左侧出现了一个新项目Pods与项目PasteBoard并列,且在项目PasteBoard中也有了Pods文件夹,里面有你引用的第三方库。
④更新第三方库
cd进入PasteBoard目录,执行以下命令:
LayneMac:PasteBoard layne$pod update --verbose --no-repo-update
一般是pod update命令,但是被墙了,所以加入后边的参数跳过repo的更新。这条命令会更新所有的第三方库。另外,查找第三方库的命令为:(以AFNetworking为例)
pod search AFNetworking
就可以查看可用的AFNetworking第三方库了。
注意:
(1)如果
gem install cocoapods
出现如下类似错误:
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
显示没有操作权限,只需要使用
sudo gem install cocoapods
即可。
(2)执行
pod setup
若出现以下错误:
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --depth=1 Cloning into 'master'... fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': SSLRead() return error -9806
则说明https挂了,多尝试几次就好了,不需要担心。
(3)当前淘宝的gem网址已经换成了https,所以我将上面的http://ruby.taobao.org/改成了https://ruby.taobao.org/,经本人尝试,发现改过后的网址更新cocoapods那不是一般的快啊。上边的
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
可直接使用
pod install
和
pod update
速度相当快......
参考资料:
唐巧的技术博客:http://www.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/
Code4App: http://code4app.com/article/cocoapods-install-usage