CocoaPods的使用

这一段做项目会用到一些开源库比如VLC,七牛云存储都是需要用CocoaPods才能运行,索性把这个总结一下

通过CocoaPods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成,大大的提高了实际开发中的工作效率,使我们的主要精力集中到更重要的事情上去。

1.安装CocoaPods

我的当前Mac环境

安装CocoaPods之前,先确保本地有Ruby环境,因为CocoaPods运行于Ruby之上,默认情况下,Mac是自带了Ruby环境的,可以通过命令行ruby -v查看当前Ruby的版本

我的当前Ruby版本

接下来我们就可以通过如下命令安装CocoaPods了。

  1. $ sudo gem install cocoapods

输入上述命令后可能会无响应,那是因为你身在天朝,伟大的墙拦住了你的去路,

不过没关系,我们可以通过淘宝的Ruby镜像来访问Cocoapods,在终端输入如下命令将Ruby镜像替换为淘宝的。替换方式如下:

$ gem sources --remove https://rubygems.org/  

//等有反应之后再敲入以下命令  

$ gem sources -a http://ruby.taobao.org/  


要想验证是否替换成功了,可以执行:$ gem sources 1 正常的输出是:

*** CURRENT SOURCES ***   


http://ruby.taobao.org/   


接下来就可以重新运行安装命令来安装CocoaPods了,根据你的网络情况,几秒或十几秒后安装过程就完成了,总的来说,安装过程还是比较简单的

安装1
安装2(完成)

2.安装过程中可能遇到的问题

(1)gem版本过老

gem是管理Ruby库和程序的标准包,如果它的版本过低也可能导致安装失败,解决方案自然是升级gem,执行下述命令即可:$ sudo gem update --system 

(2)安装完成后执行pod setup命令时报错

/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': Could not find 'cocoapods' (>= 0) among 6 total gem(s) (Gem::LoadError)  

    from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec'  

    from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in `gem'  

    from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:in `<main>'
这就是路径设置的问题,可以通过执行:$ rvm use ruby-1.9.3-p448  

正确安装后的结果是

已经正确安装了

3.使用CocoaPods

通过集成Qiniu类库来演示如何使用CocoaPods来做依赖库管理。首先,建立一个xcode工程,命名为CocoaPodsTestDemo

创建新工程

这里我们要集成Qiniu,可以先通过如下命令来判断其是否支持CocoaPods

$ pod search Qiniu
 出来的结果

检测完毕后我们来到工程CocoaPodsTest的目录下,新建一个名为Podfile的文件(这里通过命令行创建)

$ vim Podfile 

这个Podfile文件的作用是配置依赖库信息,就是告诉CocoaPods去下载和管理哪些依赖库,文件创建好以后,打开文件并加入如下内容。(vim打开文件后按i进入插入模式,编辑完成后按esc退出编辑模式,接着输入:wq保存并退出文件)


编辑想要添加的依赖库

这时候,工程目录下就会有一个Podfile文件了,注意必须和.xcodeproj在同一个目录下。接下来就可以使用CocoaPods来安装并管理Qiniu库了,确保命令行当前路径是在CocoaPodsTest目录下,运行如下命令。

$ pod install 

安装完成后会提示如下信息,并且我们的工程目录下会多出一个.xcworkspace结尾的文件,命令行信息绿色部分提醒我们“从此使用CocoaPodsTest.xcworkspace来打开项目”。

添加成功后的绿色部分

通过CocoaPodsTest.xcworkspace来打开项目,这时,我们的项目工程结构就会变成下图这样,多出一个名为Pods的依赖工程,打开Pods文件夹后,发现Qiniu已经在里面了


依赖成功后的工程目录

这时候就可以在项目文件中引入QiniuSDK.h了,这时候如果你发现import的时候没有提示QiniuSDK的文件,可以在target-Build Settings下修改“User Header Search Paths”项,新增${SRCROOT}并选择rcursive,如下图。

更改头路径

设置完成后就可以在文件中直接引用第三方库的文件并使用了。

可以正常引用第三方库了

到此,新建工程并使用CocoaPods来管理依赖库的过程就完成了,如果是直接使用已有CocoaPods的项目,则需要首先运行一下pod update命令来更新项,然后照样通过.xcworkspace来打开工程。

如果需要依赖多个第三方类库,只需要修改Podfile文件的配置,然后运行pod update命令即可,比如新增一个MBProgressHUD的依赖库,首先执行pod searchMBProgressHUD 查看一下MBProgressHUD的配置信息,修改Podfile文件,在后面增加MBProgressHUD的对应配置信息,然 后运行pod update命令就完成了对MBProgressHUD的集成。

在这个地方把要添加的添加上
查询以下该库
执行更新操作就行了
最终的效果

如果类库有更新,查看更新配置并执行pod update即可简单完成了,从此从手动更新繁重的体力劳动中解脱出来

简单小结一下:


安装CocoaPods


新建项目并在工程根目录下新建Podfile文件,配置需要管理的第三方库


运行pod install下载安装第三方库




**********************************************************************

1.安装CocoaPods

(1)先确保本地有Ruby环境 CocoaPods运行在Ruby环境之上 mac自带有

查看当前Ruby环境  ruby -v

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

gem sources --remove https://rubygems.org/

gem sources -a https://ruby.taobao.org/

gem sources 1

2.下载安装CocoaPods

sudo gem install cocoapods 输入电脑密码

Successfully installed cocoapods-0.39.0 说明已经成功

3.使用CocoaPods

(1)先通过命令看是否支持 pod search AFNetworking

(2)检测完毕后我们来到工程CocoaPodsTest的目录下,新建一个名为Podfile的文件

vim Podfile

这个Podfile文件的作用是配置依赖库信息,就是告诉CocoaPods去下载和管理哪些依赖库,文件创建好以后,打开文件并加入如下内容。(vim打开文件后按i进入插入模式,编辑完成后按esc退出编辑模式,接着输入:wq保存并退出文件)

platform :ios, ‘7.0’

pod ‘AFNetworking’, ‘~> 2.6.3’

(3)这时候,工程目录下就会有一个Podfile文件了,注意必须和.xcodeproj在同一个目录下。接下来就可以使用CocoaPods来安装并管理AFNetworking库了,确保命令行当前路径是在CocoaPodsTest目录下,运行如下命令。

pod install

(4)如果再添加其他的  就 执行pod update


**************************************************************************************************

问题描述:使用cocoapods时,import 找不到头文件。

问题原因:这是因为还没设置头文件的目录。

解决办法:在项目的Target的里设置一下,添加cocoapods头文件目录:目录路径直接写:${SRCROOT}   ,后边选择recursive 。就可以了。

注意:是在 User Header Search Paths 里添加,不是上面的 Header Search Paths.

设置方法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 一. CocoaPods的介绍 什么是CocoaPods?CocoaPods是一个负责管理iOS项目中第三方开源库...
    辉712阅读 3,874评论 0 7
  • 前言 前几天发布我的开源库<最简单方便的iOS轮播开源库:JYCarousel>到CocoaPods的时候。对Co...
    Dely阅读 16,654评论 12 82
  • 什么是CocoaPods CocoaPods是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具,而...
    木菀阅读 822评论 0 5
  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,476评论 3 51
  • 2017年6月13日,晴有风,凉爽 一个人呱呱坠地,好奇的睁眼第一次看到花花绿绿的世界,迈出人生...
    cf302fb8f796阅读 217评论 0 0