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

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

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

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

安装

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

1
2
gem install cocoapods
pod setup

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

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

1
pod search SDWebImage

结果如下图所示:

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

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

使用

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

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

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

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

如下图所示:

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

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

1
pod 'Nimbus/Core'

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

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

创建一个pod
 
    (摘自CocoaPods官网:http://cocoapods.org)
 
      有时CocoaPods没有你需要的pod资源,但是幸运的,你可以很容易的创建一个:
 pod spec create Peanut
edit Peanut.podspec
pod 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

CocoaPods:管理Objective-c 程序中各种第三方开源库关联的更多相关文章

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

    在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...

  2. iOS项目中常用的第三方开源库

    1.项目使用的第三方开源库 项目使用了CocoaPods(类似java中的maven)管理常用的第三方库,一些特殊的单独引用,下面介绍下比较好用的几个. (1)AFNetworking 目前比较推荐的 ...

  3. 小程序中使用阿里图标库iconfont

    小程序中使用阿里图标库iconfont 项目中常常需要使用到字体图标,微信小程序中使用字体图标与在平常的web前端中类似但是又有区别.下面以使用阿里图标为例子讲解如何在微信小程序中使用字体图标. 第一 ...

  4. 在 Ionic2 TypeScript 项目中导入第三方 JS 库

    原文发表于我的技术博客 本文分享了在Ionic2 TypeScript 项目中导入第三方 JS 库的方法,供参考. 原文发表于我的技术博客 1. Typings 的方式 因在 TypeScript 中 ...

  5. 在Pycharm中导入第三方模块库(诸如:matplotlib、numpy等)

    在Pycharm中导入第三方模块库 一.打开pycharm: 二.点击菜单上的“file” -> “setting”: 三.步骤二完成后出现界面如下所示.选中你的项目(比如thisyan Pro ...

  6. 如何在Ionic2项目中使用第三方JavaScript库

    onic的官网放出一记大招Ionic and Typings,来介绍如何在Ionic2项目中使用第三方JavaScript库. 因为在前阵子正好想用一个非常有名的第三方JS库ChartJs来实现一些东 ...

  7. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http: ...

  8. Android 第三方开源库收集整理(转)

    原文地址:http://blog.csdn.net/caoyouxing/article/details/42418591 Android开源库 自己一直很喜欢Android开发,就如博客签名一样,  ...

  9. 45.Android 第三方开源库收集整理(转)

    原文地址:http://blog.csdn.net/caoyouxing/article/details/42418591 Android开源库 自己一直很喜欢Android开发,就如博客签名一样,  ...

随机推荐

  1. ruby -- 基础学习(六)时间计算

    计算下一天的这个时刻, # 比如"2013-8-16 18:45:12" 的下一天的这个时刻 “2013-8-17 18:45:12” Time.now + 1.day 如果想得到 ...

  2. Java --计算百分比

    Learn From: http://blog.csdn.net/maggiehexu/article/details/6387636 方法一: public String getPercent(in ...

  3. [IR] Probabilistic Model

    If user has told us some relevant and some irrelevant documents, then we can proceed to build a prob ...

  4. python函数式编程

    函数式编程是使用一系列函数去解决问题,按照一般编程思维,面对问题时我们的思考方式是“怎么干”,而函数函数式编程的思考方式是我要“干什么”. 至于函数式编程的特点暂不总结,我们直接拿例子来体会什么是函数 ...

  5. Centos7 禁止firewalld并使用iptables 作默认防火墙

    一.停止并禁用firewalld [root@test ~]# systemctl stop firewalld [root@test ~]# systemctl disable firewalld ...

  6. SQL Server里因丢失索引造成的死锁

    在今天的文章里我想演示下SQL Server里在表上丢失索引如何引起死锁(deadlock)的.为了准备测试场景,下列代码会创建2个表,然后2个表都插入4条记录. -- Create a table ...

  7. EntityFramework 6.1.2-beta2

    EntityFramework 6.1.2-beta2 Entity Framework is Microsoft's recommended data access technology for n ...

  8. MVC应用程序中管理(更新)上传的文件

    实现上传文件功能,有时上传也会操作出错,能让用户有改正有机会,开发上传文件能有更新的功能. 文件上传时,如果是存储于应用程序某一目录的话,在更新时需要了解一些流程,先是删除旧文件,更新数据表相关信息, ...

  9. js跳转页面方法大全

    js跳转页面方法大全<span id="tiao">3</span><a href="javascript:countDown"& ...

  10. WebApi传参总动员(四)

    前文介绍了Form Data 形式传参,本文介绍json传参. WebApi及Model: public class ValuesController : ApiController { [HttpP ...