详细的CocoaPods安装教程

详细的CocoaPods安装教程

标签:

互联网上关于CocoaPods安装教程多如牛毛,随便找个进行安装,但在安装的过程中还是出现了很多错误,后来终于找到了一位大神所写的详细的安装教程,通俗易懂,现在自己把此博文稍微完善之后,让大家可以照下来步骤装一下,我相信会更好用的。

前言:

iOS项目中第三方类库的使用,可以说是非常常见的事,但是要正确地配置他们有时候是非常繁琐的事情,幸运的是CocoaPods是一个很好的解决方案。

首先我们要搞清楚以下两大问题:

  • 什么是CocoaPods?
    CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。Cocoapods意义体现在两个方面。
    1、在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。
    2、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。

  • CocoaPods的核心组件有哪些?
    1、CocoaPods是用Ruby写的,并划分成了若干个Gem包。
    2、CocoaPods在解析执行过程中最重要的几个包的路径分别是:CocoaPods/CocoaPods、 CocoaPods/Core和 CocoaPods/Xcodeproj。
    3、CocoaPods / CocoaPod:这是面向用户的组件,每当执行一个pod命令时,这个组件将被激活。它包括了所有实用CocoaPods的功能,并且还能调用其他gem包来执行任务。
    4、CocoaPods / Core:Core gem提供了与CocoaPods相关的文件(主要是podfile和podspecs)的处理。
    5、Podfile:该文件用于配置项目所需要的第三方库,它可以被高度定制。本文中我们主要在这里做动作。
    6、Podspec:该文件描述了一个库将怎样被添加进工程中。.podspec文件可以标识该第三方库所需要的源码文件、依赖库、编译选项,以及其他第三方库需要的配置。
    7、CocoaPods / Xcodeproj:这个包负责处理工程文件,它能创建以及修改.xcodeproj文件和.xcworkspace文件。它也可以作为一个独立的包使用,当你要编写修改项目文件的脚本时,可以考虑使用CocoaPods/Xcodeproj。

正文:

  • Cocoapods安装步骤

1、升级Ruby环境
打开终端输入:$gem update --system 此时出现下面提示如下:

ERROR: While executing gem ... (Gem::FilePermissionError)
You don‘t have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
zijingMacBook-Pro:~ shiyunlei$ sudo gem update —system

PS:这个是因为你没有权限去更新Ruby
这个时候你可以在终端使用:$sudo gem update --system 来进行升级
升级完毕
这个时候表示Ruby已经升级完毕


2、安装CocoaPods前的准备工作
按照原来的套路,我们应该先访问cocoapods.org这个网站,但是该网站可能需要翻墙或者许久没人维护了,下载安装可能非常缓慢,我们可以用淘宝的Ruby镜像来访问该网站,方法如下:
首先输入:$gem sources --remove https://rubygems.org/ 先移除原先的镜像;
然后添加淘宝Ruby的网站:$gem sources -a https://ruby.taobao.org/ 进行添加;现在淘宝的Ruby网站也失效了,我们需要添加 $gem sources -a https://gems.ruby-china.org/
最后验证:可以使用下面的命令查看是否更换镜像成功(如下图所示):

$gem sources -l

更换镜像

常见问题?
1、如果遇到 SSL 证书问题,你又无法解决,请直接用 http://gems.ruby-china.org 避免 SSL 的问题。
2、如果你在意 Gem 下载的安全问题,请正确安装 Ruby、OpenSSL,建议部署 Linux 服务器的时候采用 这个 RVM 安装脚本 的方式安装 Ruby。
3、Bundler::GemspecError: Could not read gem at /home/xxx/.rvm/gems/ruby-2.1.8/cache/rugged-0.23.3.gem. It may be corrupted.,这类错误是网络原因下载到了坏掉的文件到本地,请直接删除那个文件。


3、正式安装Cocoapods
首先在终端输入命令

$sudo gem install cocoapods

然后会提示你输入密码【电脑的开机密码】,注:在终端输入密码不会有提示,光标也不会移动,一定要注意
最后开始安装,如下图:
PS:这个过程可能花费时间比较长
正式安装

注意:OS X 10.11 升级,虽然官方声称只是一个小的升级,但对于开发者而言,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
解决方案2:

sudo gem install -n /usr/local/bin cocoapods
pod setup

还有一点需要注意,pod setup在执行时,会输出 Setting up CocoaPods master repo,但是会等待比较久的时间,其实这步是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下。

如果你等太久,可以试着 cd 到那个目录

cd  ~/.cocoapods

用du -sh *来查看下载进度。

du -sh 

安装成功后,你会看到:Setup completed

安装成功之后,如下图:
安装成功


4、使用search命令搜索类库名
例如通过pod搜索一个网络请求的第三方库,终端输入指令: $pod search AFNetworking
如果CocoaPods支持,将会输出搜索到的所有类库版本和信息,以及在Podfilew文档中配置的写法。
终端返回信息如下:

-> AFNetworking (2.3.1)
A delightful iOS and OS X networking framework.
pod ‘AFNetworking‘, ‘~> 2.3.1’(PS:这个语句是要在编辑Podfile时输入的命令,即是如何安装下载相关类库的指令)
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions: 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0,
2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3,
1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1,
0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
- Sub specs: - AFNetworking/Serialization (2.3.1) -
AFNetworking/Security (2.3.1) - AFNetworking/Reachability (2.3.1) -
AFNetworking/NSURLConnection (2.3.1) - AFNetworking/NSURLSession (2.3.1)
- AFNetworking/UIKit (2.3.1)
-> AFNetworking+AutoRetry (0.0.5)
Auto Retries for AFNetworking requests
pod ‘AFNetworking+AutoRetry‘, ‘~> 0.0.5‘
- Homepage: https://github.com/shaioz/AFNetworking-AutoRetry
- Source: https://github.com/shaioz/AFNetworking-AutoRetry.git
- Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]

显示了以上信息,证明你的CocoaPods已经具备了


5、需要在工程中创建一个Podfile文件
首先在电脑终端使用以下命令:
$cd/Users/shiyunlei/Desktop/CocoapodsSample (进入工程目录,cd后面的灰色底色部分是你工程的所在路径)
$touch Podfile(创建Podfile文件)
执行以上指令后,然后在项目路径下就可以看到你刚创建的Podfile文件,如下图:
路径下的Podfile文件


6、编辑Podfile文件
继续上面【第5点】的$touch Podfile指令,我们接下来可以使用vim来编辑Podfile文件的内容
继续在终端输入命令:

$ vim Podfile

进入下一个界面,如下图:
vim编辑文件

然后紧接着按键盘上的“i”键,变成如下状态,这个时候可以对Podfile文件进行编辑:

$platform:ios, '7.0'
$pod 'AFNetworking', '~> 2.3.1'

在编辑完成后按“esc”退出编辑,如下图:
编辑后退出vim

最后再按“ : ”,这个时候输入wq,点击回车,保存并退出。如下图:
保存podfile文件

这个时候打开Podfile文件就会看到里面添加了刚才在终端输入的一行语句,如下图:
查看编辑内容

PS:其实在编辑Podfile文件的时候,个人实际经验所得,其实可以不用vim来编辑Podfile文件,因为此文件其实就是一个文本文档,可以直接点击开Podfile文件,直接把pod ‘AFNetworking’, ‘~> 2.3.1’这段字敲到文档中,然后保存后继续执行$pod install的操作也是可以的【个人建议,仅供参考】

我们继续吧,打开Podfile文档后,确定里面有刚才在终端输入的语句后,我们最后在终端输入命令$pod install,安装相应的第三方类库,如下图: PS:因为这个安装过程需要下载相应的类库,所以时间和网速有关
下载第三方库

完成下载后的截图,如下图:
完成下载


7、打开具备CocoaPods的工程
最后我们打开工程目录下,在每次打开工程的时候都需要从类型为工程名.xcworkspace文件打开。如下图:
打开工程

大功告成!


谢谢原博文作者: http://blog.csdn.net/zuoyou1314/article/details/40378247


拓展知识:以上安装教程属于标配的安装过程,我们还需要注意一个拓展性的安装操作,那就是:

CocoaPods为工程的多target增加依赖支持

1、对不同的target,使用不同的第三方库的依赖配置
我们在执行Podfile文档配置的时候,就应该按以下书写方式执行了:

platform :ios, '7.0'
target "MyAllDemoBranch000" do
pod 'AFNetworking', '~> 3.0.4'
pod 'YYKit', '~> 0.9.8'
pod 'SDWebImage', '~> 3.7.5'
pod 'MBProgressHUD'
end
target "MyAllDemoBranch1111" do
pod 'YYKit', '~> 0.9.8'
end
target "MyAllDemoBranch2222" do
pod 'SDWebImage', '~> 3.7.5'
end
target "MyAllDemoBranch3333" do
pod 'AFNetworking', '~> 3.0.4'
end

然后再执行 pod install 的操作。


2、对所有的target,使用相同的第三方库的依赖配置

link_with 'MyAllDemoBranch000','MyAllDemoBranch111','MyAllDemoBranch222'
platform :ios, '7.0'
pod 'AFNetworking', '~> 3.0.4'
pod 'YYKit', '~> 0.9.8'
pod 'SDWebImage', '~> 3.7.5'
pod 'MBProgressHUD'
pod 'MMWormhole', '~> 2.0.0'

然后再执行 pod install 的操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值