一、CocoaPads是什么
当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。
CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。
现在CocoaPods的公司已经出了客户端,这样我们也不用在终端(terminal)下创建Podfile配置文件,直接通过客户端创建即可。
二、安装CocoaPods前需要配置ruby环境
1)、 因为MAC系统下已经自带ruby,所以更新一下就行了,在终端输入以下代码,再输入密码,回车即可。
更新成功终端输入:sudo gem update --system
2)、更换Ruby镜像
a.首先移除现有的Ruby镜像
终端输入:$ gem sources --remove https://rubygems.org/
b.然后添加国内最新镜像源(淘宝的Ruby镜像已经不更新了)
终端输入:$ gem sources -a https://gems.ruby-china.org/ (或者:gem sources --add https://gems.ruby-china.com)
c.执行完毕之后输入gem sources -l来查看当前镜像
终端输入:$ gem sources -l
如果结果是
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
说明添加成功,否则继续执行$ gem source -a https://gems.ruby-china.org/来添加
三、安装CocoaPads
终端输入:sudo gem install -n /usr/local/bin cocoapods
1)、安装成功大概如下(PS图网上盗的,因为我已经装过了,新装的加载的gems会多一点好像)
2)、到这之后再执行pod setup
终端输入:$ pod setup
以前当出现Setup completed的时候说明已经完成了。
但CocoaPods 1.8开始就变了,首先spec repo源有许多种的,以前默认是使用master源,所以你执行setup的时候会把master源里面里面一大坨东西下载下来
artsy
- Type: git (master)
- URL: https://github.com/Artsy/Specs.git
- Path: /Users/lius/.cocoapods/repos/artsy
master
- Type: git (master)
- URL: https://github.com/CocoaPods/Specs.git
- Path: /Users/lius/.cocoapods/repos/master
trunk
- Type: CDN
- URL: https://cdn.cocoapods.org/
- Path: /Users/lius/.cocoapods/repos/trunk
最近由于我更新了CocoaPods 1.9,以前执行setup这步,就会自动下载master源,但现在执行这一步的时候,不会下载,很快就提示Setup completed,CocoaPods 1.8以后将CDN切换为默认的spec repo源,并附带一些增强功能!不过现在最好还是用master好点,所以升级了CocoaPods的人可能会报错
[!] CDN: trunk Repo update failed
解决方法:
由于你现在的默认源是CDN,可以把它删了,但其实这步没什么卵用,但我看别人博客说最好删了,那就删了,但是如果你不在Podfile文件指定master源,还是会下载回来,因为默认CDN源
pod repo remove trunk
最好的方法就是在Podfile里面指定源,因为我们以前都没写的,因为默认就是 https://github.com/CocoaPods/Specs.git,所以都是从master里面找的,但是现在默认CDN,你Podfile文件没指定源就是默认CDN,但是从trunk文件夹(CDN源)找不到就会报错。所以,我们在Podfile文件指定下源
source 'https://github.com/CocoaPods/Specs.git'
如果第一次下载CocoaPods,并且版本在1.8以上,就是~/.cocoapods/repos文件夹里面没有master这个文件夹,command + shift + G,填上~/.cocoapods/repos前往,可以重新把它下载下来,注意 pod repo add master https://github.com/CocoaPods/Specs.git 好像用不了了,最好使用下面的命令行
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master
再更新下
pod repo update
最好翻下墙,还要用全局代理
四、CocoaPads的使用
A)终端操作
1)、使用search命令搜索类库名,比如查找 MJExtension
终端输入:pod search MJExtension
(完成后他会自动进入一个新的页面显示搜索结果,上下滑动查看更多,要退出的话按wq就可以了。以后再搜索就不需要建索引了)
红框内一会我们要用到,这是CocoaPods添加三方库的关键字段(PS:可能还要说下,你可能不会退出这个页面,哈哈,别上下滑回车什么的了,直接在下面输入q,回车就好)
2)、Xcode下随便创建一个test工程,将文件cd空格+文件路径,不想打路径的,直接拖拉就好
cd + 空格 都懂吧3)、在该文件下创建Podfile文件,这步是关键(PS:podfile是一个说明文件,用以描述管理一个或者多个Xcode project的target的依赖库。这个文件应该且必须被命名为Podfile。)
回车后可以看到项目文件下多出了一个Podfile文件终端输入:touch Podfile
4)、编辑Podfile文件
a)、可以在终端下输入
终端输入:vim Podfile
要导入的第三方都要在这里面写上。进去后需要先按I键进入编辑状态,写完后按esc,然后按shift+zz(或者先按shift+:,再按wq)就可以保存退出了。
(PS:不懂Podfile语法的自行百度)
b)、其实上一步可以直接双击Podfile文件进行编辑,哈哈,学多一点未必不是好事
4)、用终端下载Podfile文件所写的第三方框架到项目文件下
成功了终端输入:pod install
(PS:普通工程打开的是.xcodeproj文件,而设置了CocoaPods的工程要打开.xcworkspace文件,否则会报错 linker command failed with exit code 1)
打开工程后,所有第三方类库都由CocoaPods管理,在Pods文件夹下
B)、客户端操作
1)、下载链接:https://cocoapods.org/app,这个就不用教了
这就是客户端了2)、创建Podfile文件(下面还是以CocoaPadsTest项目为例)
成功显示
网友评论