如何使用cocoapods来进行依赖库的管理
一、概要
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)
![](https://code.csdn.net/assets/CODE_ico.png)
- ritekiMac-mini:PodTest lucky$ ruby -v
- ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
- ritekiMac-mini:PodTest lucky$
b 更新ruby
终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)
gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l (用来检查使用替换镜像位置成功)
![](https://code.csdn.net/assets/CODE_ico.png)
- ritekiMac-mini:~ lucky$ gem sources --remove https://rubygems.org/
- https://rubygems.org/ removed from sources
- ritekiMac-mini:~ lucky$ gem sources -a http://ruby.taobao.org/
- http://ruby.taobao.org/ added to sources
- ritekiMac-mini:~ lucky$ gem sources -l
- *** CURRENT SOURCES ***
2、下载安装CocoaPods
终端输入:sudo gem install cocoapods
![](https://code.csdn.net/assets/CODE_ico.png)
- ritekiMac-mini:~ lucky$ sudo gem install cocoapods
- CHANGELOG:
- ## 0.32.1
- ##### Bug Fixes
- * Fixed the Podfile `default_subspec` attribute in nested subspecs.
- [Fabio Pelosin][irrationalfab]
- \ [#2050](https://github.com/CocoaPods/CocoaPods/issues/2050)
- Successfully installed cocoapods-0.32.1
- Installing ri documentation for cocoapods-0.32.1
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:280: warning: conflicting chdir during another chdir block
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:287: warning: conflicting chdir during another chdir block
- Done installing documentation for cocoapods after 10 seconds
- 1 gem installed
这样就下载安装好了CocoaPods
3、使用CocoaPods
a 新建一个项目,名字PodTest
b 终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)
![](https://code.csdn.net/assets/CODE_ico.png)
- 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来进行依赖库的管理相关推荐
- iOS架构-cocoapods之本地git库的管理(15)
需求是:在工程中用cocoapods管理一个本地的一个抽离SDK库.和cocoapods管理远程的github的公开的库AFNetworking 一样管理自己的本地的一个库. 怎么实现:参看Cocoa ...
- iOS架构-cocoaPods之自制私有库及管理(17)
CocoaPods是iOS,Mac下优秀的第三方包管理工具,类似于java的maven,给我们项目管理带来了极大的方便. 个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又想像开 ...
- CocoaPods一个Objective-C第三方库的管理利器
2019独角兽企业重金招聘Python工程师标准>>> 介绍: 开发应用的时候第三方的库是不可缺少的,能提高开发的效率. 一些经常用到的库,在新的项目里用是,你又得手工的Add到项目 ...
- IOS--工具--使用CocoaPods管理依赖库
声明:此文章内容引自cocoachina,原文地址:http://www.cocoachina.com/newbie/basic/2014/0107/7663.html. 这篇内容将介绍Mac和iOS ...
- cocoaPods 创建自己的依赖库
1.先在github上创建一个仓库 和一般创建一样,就是证书一定要选,我选的是MIT,不要问我因为啥, 我也不知道, 哈哈 2.check到本地或者本地创建,反正最后都要上传到这个仓库,以个人习惯吧 ...
- CocoaPods制作第三方库,管理自己的私有库以及发布官方库(模块化与组件化)
CocoaPods在这里就不多做介绍了,相信大家都对此都使用过,也知道其对我们的好处.CocoaPods可以使我们项目管理第三方更容易,平时第三方库都是pod install下来的,再也不用之前的手动 ...
- sklearn库安装_没有依赖库也能跑机器学习模型!推荐一个强大工具m2cgen
晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI m2cgen(Model 2 Code Generator)是一个轻量级代码生成器,它可以将训练好的机器学习模型转换成无需依赖库的本地代码. ...
- 【PCL】的五大依赖库及作用
安装点云PCL(Point Cloud Library)库时,需要额外安装5个依赖库:它们有什么作用呢?如下: Boost: 用于共享指针和多线程. Eigen: 一个标准的C++模板库用于线性代数, ...
- 【Qt】Qt发布可执行程序(打包依赖库)
Qt发布可执行程序(打包依赖库) 0.编译出可执行文件 如:xxx.exe 1.将xxx.exe拷贝到一个目录下面 2.启动Qt终端交互界面程序 如:Qt 5.6 for Desktop(MinGW) ...
最新文章
- Pycharm设置pylint real-time scan实时扫描代码规范
- 支付宝回调地址index.php,支付宝支付成功回调地址怎么不改变当前页面?
- mysql 源码设计,java+mysql大学网络社区平台设计+源代码
- [业余项目]黄金点游戏
- mysql 3.23.49,将旧的3.23.49 MySQL数据库转移到5.0.51 MySQL数据库 – 用ANSI和UTF-8编码...
- 计算机主机显卡装在哪,电脑显卡在主板上的哪个位置?怎么查看显卡的信息和更新驱动程序?...
- 理论计算机科学 维基百科,多元智能理论(维基百科的比较全面的介绍).pdf
- java证书cert_java – 使用带有证书路径(cert chain)的bouncy...
- 如何打开EPUB文件
- 程序员可迁移技能的培养
- mathtype 7.4安装教程
- C++ 求幂函数pow()的输出问题
- CAD填充技巧:1分钟带你摸透CAD图案填充!
- 使用docker engine 运行时 集群部署 kubernetes v1.23
- 2020 最美最有意思辞职信
- 苹果手机点击输入框时页面自动放大
- 逻辑回归公式推导过程
- C#的ListBox加入隐含对象处理手法与Delphi的对比
- 计算机班上走读生的总人数用什么函数,2018北京中考志愿填报解答:计算机录取的基本程序...
- 快排为什么不稳定 举例说明