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

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

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 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
 
转自:
http://blog.csdn.net/happyrabbit456/article/details/11882497

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

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

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

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

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

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

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

  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. 在微信小程序中使用阿里图标库Iconfont

    首先想要使用图标,只用上图的五个iconfont相关文件就可以了.(下下来的文件iconfont.wxss开始是.css的后缀,手动改成.wxss就可以在小程序中使用) 然后在app.wxss中引入i ...

  8. Python中导入第三方声源库Acoular的逻辑解释以及Acoular的下载

    [声明]欢迎转载,但请保留文章原始出处→_→ 秦学苦练:http://www.cnblogs.com/Qinstudy/ 文章来源:http://www.cnblogs.com/Qinstudy/p/ ...

  9. 如何在 FineUIMvc 中引用第三方 JavaScript 库

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 引入第三方颜色选择器 在 FineUIMvc 中使用第三方 JavaScript 遵循一定的约定,也非常简单. 下面以官网示例为 ...

随机推荐

  1. javaScript中关于字符串的操作函数和方法

    1.字符串转换 toString():可以将任何类型的数据都转换为字符串 var num= 19; //19 var myStr = num.toString(); //"19" ...

  2. 《并行程序设计导论》——MPI(Microsoft MPI)(6):并行排序算法

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  3. 【编程技巧】alert vs Ext.Msg.alert

    alert会阻塞程序的运行. Ext.Msg.alert是异步的,它的调用并不会停止浏览器中代码的执行.

  4. MYSQL ORDER BY Optimization

    ORDER BY Optimization 某些情况下,MYSQL可以使用index排序而避免额外的sorting. 即使order by语句列不能准确的匹配index,只要没有index中(不在or ...

  5. linux workqueue的名字长度小问题

    在排查一个nvme的的workqueue的问题的时候,发现nvme的queue的进程名被截断了, [root@localhost caq]# ps -ef |grep -i nvme root : ? ...

  6. LinkedList 源码分析(JDK 1.8)

    1.概述 LinkedList 是 Java 集合框架中一个重要的实现,其底层采用的双向链表结构.和 ArrayList 一样,LinkedList 也支持空值和重复值.由于 LinkedList 基 ...

  7. 使用 cURL 度量 Web 站点的响应时间

    curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} http://www.canada.com 0. ...

  8. linux_NFS

    NFS是什么? 网络文件系统,又叫共享存储,通过网络连接让不同主机之间实现共享存储. 应用于存放图片.附件.视频等用户上传文件 相关同类应用:大型网站nfs有压力,使用moosefs(mfs),Ghu ...

  9. java连接mysql以及增删改查操作

    java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺.直接上代码: (温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 ) class DBConnectio ...

  10. win10预览版无开始菜单解决方案

    1.按下Win+R键打开“运行”程序,键入gpedit.msc 回车以打开本地组策略编辑器 2.调到图示位置将windows设置->安全设置->本地策略->安全选项->“用户账 ...