CocoaPods安装与使用

一、安装CocoaPods

Mac系统已经默认安装好Ruby环境,如果你不确定自己系统中是否有Ruby的,可以在终端中输入命令行:ruby -v查看当前ruby版本。如图:

确定以后,接下来就可以下载和安装CocoaPods,只需要一行命令。在Terminator(也就是终端)中输入以下命令:

   sudo gem install cocoapods

但是,在终端中敲入这个命令之后,会发现半天没有任何反应。原因是那堵墙阻挡了cocoapods.org。

解决办法是,我们可以用淘宝或者阿里云的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令:

首先,检查ruby源:

$gem sources -l

默认情况下,终端应该返回如下信息:

*** CURRENT SOURCES ***

https://rubygems.org/

当然这个源在墙内是访问不到的。因此我们需要寻找一个可以在国内访问到的镜像。目前笔者找到的是http://rubygems-china.oss.aliyuncs.com这个阿里云的镜像,当然随着时间的推移,未来这个镜像也有可能无法访问了,到时候就只能重新寻找了。

确认镜像可用后,现在就要开始修改ruby源了。首先执行以下命令删除原来的ruby源:

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

执行命令后可在终端看见以下信息:

https://rubygems.org/ removed from sources

然后下一步添加你找到的可用的镜像源:

$gem sources -a https://ruby.taobao.org/ #(淘宝)

或者:

$gem sources -a http://rubygems-china.oss.aliyuncs.com #(阿里云)

gem sources -l #(再次查看当前ruby的源)

如果Terminal输出:

*** CURRENT SOURCES ***

https://ruby.taobao.org/

此时你就可以重新执行这一段开头的那句命令了:

$sudo gem install cocoapods
  • 如果gem太老,可以尝试用如下命令升级gem:

在Terminal输入以下命令:

$sudo gem update --system

升级成功后会提示: Latest version currently installed. Aborting.

  • 如果报以下错误:
ERROR: While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/xcodeproj
解决方案1:

执行下面的命令并重启

$sudo nvram boot-args="rootless=0"

$sudo reboot

重启之后, 执行这个命令检查

$sudo gem install cocoapods -V

如果依旧有错误,使用第二个方案

解决方案2:
$sudo gem install -n /usr/local/bin cocoapods

如果一切正常,你应该能看到一段安装进度,以及最后有一条信息:

xx gems installed

开始配置

$pod setup

还有一点需要注意,pod setup在执行时,会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度。

安装成功后,你会看到:Setup completed

二、使用CocoaPods

打开终端,使用cd命令定位到需要使用CocoaPods的项目根路径。如:

cd /Users/username/ Projects/Demo

先考虑项目中需要引用哪些库,然后在通过search命令来查找库的信息,如需要加入JSONKit,那可以如下写法:

pod search JSONKit

命令执行后会得到如下结果:

-> JSONKit (1.5pre)

 A Very High Performance Objective-C JSON Library.

 pod 'JSONKit', '~> 1.5pre'

 - Homepage: https://github.com/johnezang/JSONKit

 - Source: https://github.com/johnezang/JSONKit.git

 - Versions: 1.5pre, 1.4 [master repo]

其中的pod 'JSONKit', '~> 1.5pre'是待会要写入到Podfile中的信息。如果已经知道这些信息,那可以直接省略此步。直接进行下面的步骤。

得到必要的库信息后,现在需要在项目中建立Podfile文件。通过下面的命令:

touch Podfile

然后编辑Podfile文件,命令如下:

open -e Podfile

在弹出的编辑界面中输入下面内容:

platform :ios

pod 'JSONKit', '~> 1.5pre'

然后调用下面命令来进行初始化:

pod install

运行完毕后,原本的项目目录会多出一些文件。如图:

image.png

文件目录中多了*.xcworkspace , pod等文件。这是pod生成的项目管理文件,打开LibDemo.xcworkspace项目文件,在Xcode里看到是这样的目录结构:

image.png

这里要注意的一点是,如果不调用创建Podfile命令就直接调用pod install命令。将会提示“[!] No 'Podfile' found in the current working directory.”

如果Podfile中添加了新库,可以使用下面命令进行更新:

pod update

现在,你的所有第三方库都已经下载完成并且设置好了编译参数和依赖,你只需要记住如下2点即可:

  • 使用CocoaPods生成的 .xcworkspace文件来打开工程,而不是以前的.xcodeproj文件。

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

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