CocoaPods可以方便地通过Mac自带的RubyGems安装。
打开Terminal(Mac电脑自带的终端),然后按照以下提示操作即可:
1.设置ruby的软件源
这是因为ruby的软件源rubygems.org因为使用亚马逊的云服务,被我天朝屏蔽了,需要更新一下ruby的源,过程如下:
gem sources -l #(查看当前ruby的源)
gem sources --remove https://rubygems.org/ #(移除当前ruby的源)
gem sources -a https://ruby-china.org/ #(设置当前ruby的源为我天朝的)
(网上大部分是gem sources -a https://ruby.taobao.org/ ,但是该源已经停止维护了)
gem sources -l #(再次查看当前ruby的源)
如果Terminal输出:
*** CURRENT SOURCES ***
https://ruby-china.org/
就证明ruby的软件源已经设置OK了。
2.设置gem为最新版本
如果gem太老,可以尝试用如下命令升级gem:
在Terminal输入以下命令:
sudo gem update --system
升级成功后会提示: Latest version currently installed. Aborting.
3.执行安装CocoaPods命令
注意:OS X 10.11 升级,虽然官方声称只是一个小的升级,但对于开发者而言,cocoapods需要重新安装,但按照以前的安装方式,在Terminal输入以下命令:
sudo gem install cocoapods
如果报以下错误:
ERROR: While executing gem ... (Errno::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 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度。
此时如果发现setup速度很慢时,可以采用以下方法解决:
1. 进入cd ~/.cocoapods/repos, 然后将项目clone
git clone https://github.com/CocoaPods/Specs.git master
如果此时速度还是很慢,我们可以仅仅选择clone最近一次commit的分支,不用选择下载整个项目,这样可以节省大部分时间
git clone --depth=1 https://github.com/CocoaPods/Specs.git master
上面的地址,可以根据需要进行更改,指向国内的一些镜像
git clone https://gitcafe.com/akuandev/Specs.git master
或者
git clone https://oschina.com/akuandev/Specs.git master
这两种镜像路径,clone成功之后,需要在Podfile里面,添加source 'https://gitcafe.com/akuandev//Specs.git'等,否则下次update的时候,还是会从GitHub上去请求镜像。
成功之后,将spec文件夹更改为master即可;
2. 如果已经安装成功,即在~/.cocoapods/repos 里面已经存在master(Spec项目文件)
更换repo
pod repo remove master
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update
3. 下载Specs-master.zip
解压到 ~/.cocoapods/repos 并重命名为master
初始化git仓库git init& 跟踪远端git remote add origin https://github.com/CocoaPods/Specs.git
4. 在update的时候,可以忽略请求spec,即不使用实时最新版本的spec,仅仅使用本地的pods描述文件
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
或者
pod install --no-repo-update
pod update --no-repo-update
当然,如果本地的repo库太长时间没有更新了,也会出现问题,如下所示:
解决办法 : pod repo update
然后通过pod repo 看是否更改成功:
master
- Type: git (master)
- URL: https://gitcafe.com/akuandev/Specs.git
- Path: /Users/Zhang/.cocoapods/repos/master
1 repo
安装成功后,你会看到:Setup completed
五、Cocoapods的使用
随便以一种方式新建一个名为Podfile的文件放到你的工程根目录下(不能写成别的名字,也可以自己在工程根目录里面直接新建)
Podfile文件内容的格式应该如下:
platform :ios, '8.0' #(注明你的开发平台以及版本,'8.0'忽略不写即为最新版本)
pod 'AFNetworking', '~> 2.5.3' #('~> 2.5.3'为版本号,忽略不写即为最新版本)
pod 'SDWebImage', '~> 3.7.2'
然后在Terminal进入工程所在的根目录(工程根目录)中执行 :
pod install
这样,AFNetworking和SDWebImage就已经下载完成并且设置好了编译参数和依赖,以后使用的时候切记如下两点:
1.从此以后需要使用Cocoapods生成的 .xcworkspace文件来打开工程,而不是使用以前的.xcodeproj文件
2.每次更改了Podfile文件,都需要重新执行一次pod update命令
查找第三方库:
你如果不知道 cocoaPods 管理的库中,是否有你想要的库,那么你可以通过 pod search 命令进行查找,以下是我用 pod search json 查找到的所有可用的库:
可以在Terminal中输入:
pod search AFNetworking
回车之后就可以看到和你搜索的关键字相关的一些库类,如图: