一、概要

iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。

二、安装

由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:

注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境

1、Ruby环境搭建

当前安装环境为Mac mini 10.8.5。Mac  OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。

a 查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)

[objc] view plaincopyprint?
  1. ritekiMac-mini:PodTest lucky$ ruby -v
  2. ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
  3. ritekiMac-mini:PodTest lucky$

b 更新ruby

终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)

gem sources --remove https://rubygems.org/ 
gem sources -a http://ruby.taobao.org/ 
gem sources -l  (用来检查使用替换镜像位置成功)

[objc] view plaincopyprint?
  1. ritekiMac-mini:~ lucky$ gem sources --remove https://rubygems.org/
  2. https://rubygems.org/ removed from sources
  3. ritekiMac-mini:~ lucky$ gem sources -a http://ruby.taobao.org/
  4. http://ruby.taobao.org/ added to sources
  5. ritekiMac-mini:~ lucky$ gem sources -l
  6. *** CURRENT SOURCES ***

2、下载安装CocoaPods

终端输入:sudo gem install cocoapods

[html] view plaincopyprint?
  1. ritekiMac-mini:~ lucky$ sudo gem install cocoapods
  2. CHANGELOG:
  3. ## 0.32.1
  4. ##### Bug Fixes
  5. * Fixed the Podfile `default_subspec` attribute in nested subspecs.
  6. [Fabio Pelosin][irrationalfab]
  7. \ [#2050](https://github.com/CocoaPods/CocoaPods/issues/2050)
  8. Successfully installed cocoapods-0.32.1
  9. Installing ri documentation for cocoapods-0.32.1
  10. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:280: warning: conflicting chdir during another chdir block
  11. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:287: warning: conflicting chdir during another chdir block
  12. Done installing documentation for cocoapods after 10 seconds
  13. 1 gem installed

这样就下载安装好了CocoaPods

3、使用CocoaPods

a  新建一个项目,名字PodTest

b  终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)

[objc] view plaincopyprint?
  1. cd /Users/lucky/Desktop/PodTest

c  建立Podfile(配置文件)

接着上一步,终端输入 vim Podfile

键盘输入 i,进入编辑模式,输入

platform :ios, '7.0' 
pod 'MBProgressHUD', '~> 0.8'

然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq

注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件

激动人心的时刻到了:确定终端cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。

查看项目根目录:

注意:现在打开项目不是点击 PodTest.xodeproj了,而是点击 PodTest.xcworkspace

打开项目后看到项目结构并且测试一下:

运行结果:

补充:

1、CocoaPods的基本安装及使用都详细的说明了,但还有一些补充,当需要同时导入多个第三方时候怎么办 ?

这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,需要重新执行一次pod install命令。

例如:

platform :ios

pod 'JSONKit',       '~> 1.4'

pod 'AFNetworking',  '~> 2.0'

2、CocoaPods可以查找你想要的第三方库

终端输入命令:pod search UI

疯了了,我怎么查找这么大众的关键字,好多库~~

然后重新编辑Podfile文件,按照之前的步骤,把更多的库都导入项目!

转载于:https://www.cnblogs.com/doubleLWithiOS/p/4730414.html

如何使用cocoapods来进行依赖库的管理相关推荐

  1. iOS架构-cocoapods之本地git库的管理(15)

    需求是:在工程中用cocoapods管理一个本地的一个抽离SDK库.和cocoapods管理远程的github的公开的库AFNetworking 一样管理自己的本地的一个库. 怎么实现:参看Cocoa ...

  2. iOS架构-cocoaPods之自制私有库及管理(17)

    CocoaPods是iOS,Mac下优秀的第三方包管理工具,类似于java的maven,给我们项目管理带来了极大的方便. 个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又想像开 ...

  3. CocoaPods一个Objective-C第三方库的管理利器

    2019独角兽企业重金招聘Python工程师标准>>> 介绍: 开发应用的时候第三方的库是不可缺少的,能提高开发的效率. 一些经常用到的库,在新的项目里用是,你又得手工的Add到项目 ...

  4. IOS--工具--使用CocoaPods管理依赖库

    声明:此文章内容引自cocoachina,原文地址:http://www.cocoachina.com/newbie/basic/2014/0107/7663.html. 这篇内容将介绍Mac和iOS ...

  5. cocoaPods 创建自己的依赖库

    1.先在github上创建一个仓库 和一般创建一样,就是证书一定要选,我选的是MIT,不要问我因为啥, 我也不知道, 哈哈 2.check到本地或者本地创建,反正最后都要上传到这个仓库,以个人习惯吧 ...

  6. CocoaPods制作第三方库,管理自己的私有库以及发布官方库(模块化与组件化)

    CocoaPods在这里就不多做介绍了,相信大家都对此都使用过,也知道其对我们的好处.CocoaPods可以使我们项目管理第三方更容易,平时第三方库都是pod install下来的,再也不用之前的手动 ...

  7. sklearn库安装_没有依赖库也能跑机器学习模型!推荐一个强大工具m2cgen

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI m2cgen(Model 2 Code Generator)是一个轻量级代码生成器,它可以将训练好的机器学习模型转换成无需依赖库的本地代码. ...

  8. 【PCL】的五大依赖库及作用

    安装点云PCL(Point Cloud Library)库时,需要额外安装5个依赖库:它们有什么作用呢?如下: Boost: 用于共享指针和多线程. Eigen: 一个标准的C++模板库用于线性代数, ...

  9. 【Qt】Qt发布可执行程序(打包依赖库)

    Qt发布可执行程序(打包依赖库) 0.编译出可执行文件 如:xxx.exe 1.将xxx.exe拷贝到一个目录下面 2.启动Qt终端交互界面程序 如:Qt 5.6 for Desktop(MinGW) ...

最新文章

  1. Pycharm设置pylint real-time scan实时扫描代码规范
  2. 支付宝回调地址index.php,支付宝支付成功回调地址怎么不改变当前页面?
  3. mysql 源码设计,java+mysql大学网络社区平台设计+源代码
  4. [业余项目]黄金点游戏
  5. mysql 3.23.49,将旧的3.23.49 MySQL数据库转移到5.0.51 MySQL数据库 – 用ANSI和UTF-8编码...
  6. 计算机主机显卡装在哪,电脑显卡在主板上的哪个位置?怎么查看显卡的信息和更新驱动程序?...
  7. 理论计算机科学 维基百科,多元智能理论(维基百科的比较全面的介绍).pdf
  8. java证书cert_java – 使用带有证书路径(cert chain)的bouncy...
  9. 如何打开EPUB文件
  10. 程序员可迁移技能的培养
  11. mathtype 7.4安装教程
  12. C++ 求幂函数pow()的输出问题
  13. CAD填充技巧:1分钟带你摸透CAD图案填充!
  14. 使用docker engine 运行时 集群部署 kubernetes v1.23
  15. 2020 最美最有意思辞职信
  16. 苹果手机点击输入框时页面自动放大
  17. 逻辑回归公式推导过程
  18. C#的ListBox加入隐含对象处理手法与Delphi的对比
  19. 计算机班上走读生的总人数用什么函数,2018北京中考志愿填报解答:计算机录取的基本程序...
  20. 快排为什么不稳定 举例说明

热门文章

  1. linux php c 扩展,linux php添加扩展库
  2. 10个必需的iOS开发工具和资源
  3. 9:14 2009-7-22
  4. 移动Web开发的十条军规
  5. 使用SSH更新WordPress
  6. CSS 与 HTML5 响应式图片
  7. FullCalendar 七:FullCalendar应用——整合农历节气和节日
  8. 用代码证明自己闲的蛋疼(三)——回溯法做数独
  9. restorecon命令
  10. IPv4地址在mysql的存储