在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中。

但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦。有没有什么办法可以简化对第三方库的管理呢?有!在使用SDWebImage这个第三方库的时候,我在学习如何将进度展现时,看到有人提到用CocoaPods(http://cocoapods.org/,需FQ) 来管理第三方开源库。

CocoaPods是管理Objective-c 程序中各种第三方开源库关联非常棒的方式,只要安裝好 CocoaPods,在自己程序的根目录下建立一份 Podfile 文字,在里面说明要使用哪些套件, CocoaPods 就会帮忙你搞定所有套件的相依性。

那现在我们学习如何使用CocoaPods吧。

安装

CocoaPods 是一个 Ruby 的 Gem,所以只要在 Terminal 下达安裝的指令:

gem install cocoapods
pod setup

注:执行代码的时候你可能会觉得没反应,这里是需要时间的,耐心等待一下吧。

这样就安装好了,检查一下是否安装好了没,随便搜索一个第三方的开源库:

pod search SDWebImage

结果如下图所示:

没有报错误或其他什么的,说明CocoaPods安装成功。

好了,我们再看看怎么使用。

使用

比如你想使用SDWebImage这个开源库,你可以用上图的命令:pod search SDWebImage来搜索当前有多少个SDWebImage的版本及每个版本的相关信息。然后选择你需要的版本,将其添加到Podfile文件中。

将开源库添加到Podfile文件中有两种方法:

方法一(手动建Podfile文档):

  • 你在你工程的根目录下新建一个名为Podfile的文本文档;
  • 然后将上图中红色方框内的文字(pod 'SDWebImage', '~> 3.4')复制进去;
  • 保存,然后去掉文本文档的后缀名(有后缀会发生发错误,亲测)。
方法二(命令行建Podfile文档):
  • 首先定位到你工程的根目录去(因为文档要建在这里);
  • 然后编辑Podfile文档(Podfile存在则编辑,没有就会新建),将将上图中红色方框内的文字(pod 'SDWebImage', '~> 3.4')复制进去;
  • 保存。
命令行如下所示:
cd '你的工程根目录'  #不要引号 ,打开你的根目录
vi Podfile                #打开并开始编辑

如下图所示:

编辑完成之后按Esc键退出编辑,然后输入‘:wq’保存并退出。
现在你可以在项目中安装依赖关系了:
pod install

Tips:如果你引用的库很大,不需要所有的文件,可以这样写:

pod 'Nimbus/Core'

安装成功以后,你的工程跟木下会产生一个这样的文件:

确保以后就用这个文件来打开你的工程就行了。

创建一个pod
(摘自CocoaPods官网:http://cocoapods.org)
有时CocoaPods没有你需要的pod资源,但是幸运的,你可以很容易的创建一个:
 pod spec create Peanutedit Peanut.podspecpod spec lint Peanut.podspec

When you’re done, please create a ticket and upload the pod. You can also fork theCocoaPods specs GitHub repository and send a pull request. We really love contributions!

补充:
如何在cocoapods中使用更新的pod:
http://www.cnblogs.com/procoder/archive/2013/01/15/how-to-get-updated-version-of-pods-on-cocoapods.html
转自:
http://blog.csdn.net/happyrabbit456/article/details/11882497

转载于:https://www.cnblogs.com/hellocby/p/3411084.html

(转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联相关推荐

  1. 微信小程序中使用vant组件库(超详细)

    目录 前言 Vant Weapp的安装与使用 1.安装 node.js 2.通过 npm 安装 3.修改 app.json 4.修改 project.config.json 5.构建 npm 包 6. ...

  2. 微信小程序中使用阿里巴巴图标库

    这里写自定义目录标题 微信小程序中使用阿里巴巴图标库 第一步 第二步 第三步 微信小程序中使用阿里巴巴图标库 第一步 阿里巴巴图标正常加入自己的项目,并下载到本地: 注意:这里的选择 ![在这里插入图 ...

  3. Android NDK编译中在libs\armeabi中加入第三方so库文件的方法

    Android NDK编译中在libs\armeabi中加入第三方so库文件的方法 假设要加入库文件的名字为libffmpeg.so文件 1.要在project\jni目录下新建一目录prebuilt ...

  4. python中的h5py开源库的使用

    python中的h5py开源库的使用(9-20190129) 文章目录: 一.h5py模块介绍 二.h5py模块使用 1.h5py接口简单介绍 2.h5py的使用样例 一.h5py模块介绍 本文只是简 ...

  5. 【Android 安全】DEX 加密 ( 代理 Application 开发 | 项目中配置 OpenSSL 开源库 | 使用 OpenSSL 开源库解密 dex 文件 )

    文章目录 一.项目中配置 OpenSSL 开源库 二.OpenSSL 开源库解密参考代码 三.解密 dex 文件的 Java 代码 四.解密 dex 文件的 Jni 代码 参考博客 : [Androi ...

  6. iOS开发中解决第三方静态库符号冲突的终极方案

    iOS开发中解决第三方静态库符号冲突的终极方案 背景 在iOS开发的时候,经常会使用各种第三方静态库,这些库内部可能会打包了相同的第三方库.那么在链接的时候就会发生符号冲突. 例如:A厂商提供的lib ...

  7. 儿童应用程序中的第三方跟踪功能将被苹果限制

    [TechWeb]据国外媒体报道,苹果计划在下周举行的2019年度全球开发者大会(WWDC)上将针对儿童应用程序的第三方跟踪宣布一系列新限制. 无论是应用程序供应商还是与之相关的营销人员,广告跟踪是这 ...

  8. 五分钟学会在微信小程序中使用 vantUI 组件库

    前言 我们在开发微信小程序时,设计和实现好用的用户界面无疑是至关重要的一步.但是微信小程序官方自带的 UI 组件库无法满足很多使用场景,这个时候就需要我们使用一些第三方的 UI 组件库.而 vant ...

  9. Android中使用Volley开源库进行Http网络请求(GET方式)

    在之前的Http网络请求中,我们一般使用输入流以及缓冲区的方式进行访问,然后从服务器获取返回的数据.代码行数近20行,而且网络操作是放在Thread线程中进行的,对于Java或者Android的线程还 ...

最新文章

  1. EcoTalks预告 | Max Rietkerk:自然斑图与生态系统的恢复力
  2. 在Intelij IDEA中修改maven为国内镜像(阿里)
  3. 通过几个问题深入分析Vue中的diff原理
  4. 使用LeakCanary遇到的问题 就是不弹出来
  5. Spring-注入参数详解-[简化配置方式]
  6. 小师妹学JavaIO之:NIO中Channel的妙用
  7. 微服务 注册中心_4.微服务架构的第二个组件:注册中心
  8. Unity——物理引擎
  9. 联想Z6预告海报公布:最轻4000mAh手机,没有之一
  10. matlab fft2怎么移动频率对称,fft2 二维快速傅里叶变换(Matlab)
  11. SCPPO(三):禅道的使用—项目管理员、开发等人员
  12. hiho一下第91周《Events Arrangement》(前半部分)
  13. linux 下的两种软件安装方式 —— 源码(编译、安装),编译好的二进制(直接安装)
  14. 钉钉机器人智能提醒_利用钉钉机器人和语雀提高协同办公效率
  15. C-COT目标跟踪-----连续卷积算子
  16. Linux加密框架 crypto 哈希算法说明 同步哈希shash_alg | 异步哈希 ahash_alg | 通用部分抽象 hash_alg_common
  17. 用户空间与内核空间数据交换-2-generic netlink
  18. AT指令(中文详解版)二 [转载]
  19. 星巴克公司员工股权激励机制
  20. 每个Java程序员都应该Follow的10个Twitter账号

热门文章

  1. C语言中枚举enum的用法
  2. oracle迁移mysql_从自建Oracle迁移至RDS MySQL
  3. 用计算机怎么弹离人愁数字,拇指琴新手入门曲谱——离人愁
  4. 东师计算机应用基础在线作业,东师《计算机应用基础》15春在线作业1答案
  5. matlab优化 带参数设置,优化选项参考 - MATLAB Simulink - MathWorks 中国
  6. 用键盘怎么直接打出小于等于和大于等于
  7. 光纤交换机主要分为哪几类?
  8. 【渝粤教育】国家开放大学2018年秋季 0508-21T影视特技及后期合成 参考试题
  9. 【渝粤题库】陕西师范大学202961 教育社会学 作业(高起本、专升本)
  10. 2021年春季学期期末统一考试 保险学概论 试题