CocoaPods的安装和使用(心得)

上周五由于项目需要,我把一个有Pods项目改了名,可恨的是电脑上的CocoaPods挂掉了,公司网差。只好周末的时候在家奋斗了一下,功夫不负有心人,最后是被我搞好了,由于出现了好多问题,所以在这把自己的安装心得说一下,仅供大家参考!

CocoaPods简介:

CocoaPods是什么呢?它负责管理iOS项目中第三方开源库的工具,它的项目源码都在Github上管理的,那么问题又来了,Github是什么呢?(### 被扔西红柿),咳咳~这个我就不在这废话了。我们开发iOS项目时不可避免地要使用第三方开源库(现在第三方开源库的使用率比前些年更多了,建议大家在允许的条件下 最好是能够自己造些轮子),CocoaPods的出现使得我们可以节 省配置和更新第三方开源库的时间和精力。

安装前奏

首先要提一下CocoaPods的安装顺序:

Xcode -> homebrew -> RVM -> Ruby -> CocoaPods
  • Xcode不用说。。大家也没有不知道的。
  • homebrew是什么?接触过Linux的同学应该挺熟悉yum的,没错,homebrew就是OS的yum,一款软件管理工具。
  • RVM 它的全程是Ruby Version Manager,大家看名字也应该可以了解到,这是一款命令行管理工具,能够轻松的管理Ruby的版本。
  • Ruby 这是一款专门为面向设计编程制作的脚本语言,简单易用,功能强大。

关于这几个工具的安装我就不在这篇文章中赘述了,有需要的我再专门写一篇关于他们的安装。

安装正式开始

  • 首先使用Ruby的gem命令来进行安装
$ sudo gem install cocoapods
$ pod setup

敲完这些以后,你会突然发现,卡住了。恭喜你,体验了一把被“墙”的感觉。这是因为Ruby的源(安装源)https://rubygems.org/是亚马逊的云服务(这个说真的我是之前在唐巧大神的博客中了解到的),这个时候大部分的教程都会叫你换成淘宝的源淘宝的源:https://ruby.taobao.org/,不过........

淘宝Ruby源网站截图

没错,停止维护了,更具淘宝源上的提示,现在源应该使用http://gems.ruby-china.org/这个。
好的问题,解决了,那么让我们换一下ruby的源吧

gem sources --remove https://rubygems.org/                 //删除
gem sources -a http://gems.ruby-china.org/
gem sources -l

你会发现新的ruby源已经安装完毕,完美~

  • 继续pod setup命令,这个时候终端会出现Setting up CocoaPods master repo,这个步骤 Cocoapods 会将它的信息下载到Mac的~/.cocoapods目录下,然后漫长的等待来了~~(表示楼主在这个阶段过一会就预览一下/.cocoapods/repos/master的大小,当然也可以cd到目录下用du -sh *命令查看进度,速度挺快,一分钟能走1MB了呢>_<||| )。

使用 CocoaPods 的镜像索引

是不是等不下去了?好吧,告诉一个可以提高下载速度的方法,那就是使用CocoaPods的镜像索引。
所有的项目的 Podspec 文件都托管在https://github.com/CocoaPods/Specs,第一次执行pod setup时,CocoaPods 会将这些podspec索引文件更新到本地的 ~/.cocoapods/目录下.
一个叫 akinliu 的朋友在 gitcafeoschina 上建立了 CocoaPods 索引库的镜像,因为 gitcafeoschina的服务器都是在国内,所以在执行索引更新操作时,会快了好多。如下操作可以将 CocoaPods 设置成使用 gitcafe 镜像:

pod repo remove masterpod repo add master https://gitcafe.com/akuandev/Specs.gitpod repo update

使用 oschina 镜像:

pod repo remove masterpod repo add master http://git.oschina.net/akuandev/Specs.git

CocoaPods使用

安装完成后,我们就可以安心的来使用CocoaPods了

  • 使用CocoaPods有一个前提,是我们的项目目录下必须要有一个Profile的文件,那这个文件要怎么创建呢:
cd ''项目根目录''
pod init

OK,搞定这个时候使用vim Profile命令编辑Profile里的内容,将依赖库名字依次列在Profile中,最终格式如下:

Profile最终格式

其中target 'Demo' do#Pods for Demo中的Demo是我的工程名。

  • 到现在为止,你的Profile就已经配置好了,然后执行:
pod install

等待完成后,你的第三方库就已经配置好了,打开.xcworkspace,没错,再也不是.xcodeproj文件了。
链接你的设备,使用配置好的Pods,run一下你的程序吧~

  • Note: 每次更改了 Podfile 文件,你需要重新执行一次pod update命令。

三个重要的知识点

  • 当执行pod install之后,除了Podfile,还会生成一个名为Podfile.lock的文件,它会锁定当前各依赖库的版本,之后即使多次执行pod install也不会更改版本,只有执行pod update才会改变Podfile.lock.在多人协作的时候,这样可以防止第三方库升级时候造成大家各自的第三方库版本不一致,所以在往SVN提交版本的时候不能把它落下。(个人认为可以把它从ignore列表中删掉)
  • Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可,这个文件一般在项目的frameworks文件夹下。
  • CocoaPods通过一个名为Pods.xcconfig的文件来在编译时设置所有的依赖和参数。

结语

这次重命名项目让我好好的研究了一把CocoaPods,毕竟之前都是直接看教程敲命令行😂。不过还是要吐槽一下pod setup的下载速度~楼主表示,都怪你让我连输了三把排位!ヽ(ˋДˊ)ノヽ(ˋДˊ)ノヽ(ˋДˊ)ノ

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

推荐阅读更多精彩内容