一、 CocoaPods简介

CocoaPods是一个用来帮助我们管理第三方依赖库的工具。
在开发iOS应用时,会经常使用第三方类库,比如SDWebImage、AFNetworking等等,手动的下载与添加类库非常麻烦,通过CocoaPods可以便捷的下载与管理第三方类库。
使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。
官方链接:https://cocoapods.org

二、CocoaPods安装

CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境,OS X系统默认支持Ruby运行,但是Ruby的默认源使用的是rubygems.org,国内访问这个网址时,如果无法翻墙,则不能下载,解决方案是将其替换成可用的Ruby,比如淘宝,替换方式如下:

1、查看自己电脑的Ruby环境 --- 终端命令:【gem sources -l】

  • 如果显示当前镜像是https://ruby.taobao.org/,则直接安装CocoaPods。
  • 如果显示当前镜像是https://rubygems.org/,则需要将当前的镜像移除,终端命令:【gem sources --remove https://rubygems.org/】,移除成功后终端显示 https://rubygems.org/ removed from sources。紧接着需要下载taobao的镜像,终端命令:【gem sources -a https://ruby.taobao.org/】。

2、安装CocoaPods

2.1、终端命令:【sudo gem install cocoapods】,需要输入当前用户开机密码,输入时不会显示密码也不会显示*号,输入完成回车就可以了;如果显示try again那说明密码输入错误,需要重新输入密码。输入完密码之后等待。

2.2、设置 --- 终端命令:【pod setup】速度很慢,需要等待,如果出现warning,需要重新执行这一步骤。设置结束时终端会显示绿色的Setup completed。如果想要查看CocoaPods的设置进度,需要重新开一个终端窗口,进入CocoaPods:终端命令:【cd ~/.cocoapods】,查看进度:终端命令:【du -sh *】。

3、使用CocoaPods

3.1、创建工程,然后关闭工程,终端进入工程:终端命令:【cd 工程路径(直接拖文件夹到终端)】

3.2、先找到要使用的三方库:终端命令:【pod search 第三方库名称】

3.3、会显示列表页面,选择三方库最新版本的命令,复制备用,例如复制:【pod 'MBProgressHUD', '~> 0.9.2'】然后输入wq退出

3.4、编辑工程的Podfile文件:终端命令:【vim Podfile】进入Vi编辑

3.5、按 i 键使Vi编辑处于编辑状态,然后
输入:

【platform :ios, '8.0'
target "targetName" do
pod 'MBProgressHUD', '~> 0.9.2'
end】

(将targetName替换成工程名,pod 'MBProgressHUD', '~> 0.9.2' 替换成3.3步复制出来的命令,所有符号都是英文状态下的)

此时不需要回车,直接按Esc键,结束编辑状态,按 : 然后输入wq回车,保存修改并退出

3.6、保存Podfile的设置,然后进行更新下载三方库:终端命令:【pod update】或【pod install --verbose --no-repo-update】或【pod update --verbose --no-repo-update】(后两者较快),如果此时报错,需要检查你上一步输入是否有误

3.7、如果以后还想要添加新的第三方到CocoaPods中,只需要终端进入工程:终端命令:【cd + 工程路径(直接拖文件夹到终端)】,然后重复3.2~3.6步即可,但是重复3.5步时需要注意不要删除以前的语句,只需要在后面添加新的三方库版本信息即可,例如:【pod 'AFNetworking', '~> 3.1.0'】

4、在工程中使用CocoaPods

设置好CocoaPods的工程文件夹中有这些文件

普通工程打开的是.xcodeproj文件,而设置了CocoaPods的工程要打开.xcworkspace文件,否则会报错。

打开工程后,所有第三方类库都由CocoaPods管理,在Pods文件夹下

测试:

 #import "ViewController.h"
#import <MBProgressHUD.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; [MBProgressHUD showHUDAddedTo:self.view animated:YES];
} @end

执行效果:

最新文章

  1. ARC内存管理机制详解
  2. entity Framework codefirst Migrations
  3. Activiti 学习笔记记录(二)
  4. java Class&lt;?&gt;和Class&lt;T&gt;等
  5. MainActivity获取fragment控件button监听报空指针错误
  6. [Hibernate] - one to one
  7. 解决Genymotion下载设备失败的方法(Connection Timeout)
  8. 条款21:必须返回对象object时,不要返回其引用reference
  9. Mac下修改Mysql密码
  10. win7下设置 WiFi AP
  11. Mac 10.10 下安装jdk 1.7 以上
  12. centos7 安装kubernetes1.4
  13. 使用 ItextSharp HTML生成Pdf(C#)
  14. beta冲刺用户测评-咸鱼
  15. Thread.join(), CountDownLatch、CyclicBarrier和 Semaphore区别,联系及应用
  16. Some notes in Stanford CS106A(4)
  17. mysql group by using filesort优化
  18. P3398 仓鼠找sugar (一道LCA的裸题)
  19. DeepLearning.ai-Week1-Convolution+model+-+Step+by+Step
  20. Hibernate框架第一天

热门文章

  1. JSOI2015 分组赛记
  2. poj3468,poj2528
  3. Fatal NI connect error 12170
  4. dagli最早干了这样一件事儿 Localization of Cardiac-Induced Signal Change in fMRI
  5. cgroup隔离的知识点
  6. 完美完全卸载Oracle 11g数据库
  7. C# 一次查询多表,填充DataSet并指定表名
  8. C# chart,有关如何在鼠标移动到Series上时显示节点及数据 (有待继续更新)
  9. DBHelper (支持事务与数据库变更) z
  10. visual studio 2013 配置 ef+pgsql