CocoaPods的安装和使用以及版本升级遇到的问题

一.CocoaPods是什么?

     CocoaPods是一个用ruby编写,负责管理iOS项目中第三方开源库的工具。CocoaPods节省设置和更新第三方开源库的时间。

二.CocoaPods的下载及安装

1、升级ruby环境

        ruby -v  查看当前ruby版本

查看当前ruby版本

  Ruby版本过低时,需对Ruby进行升级。升级过程如下:

(1)安装RVM

RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理

$ curl -Lget.rvm.io| bash -s stable

等待一段时间后就可以成功安装好 RVM。

$ source ~/.bashrc  

$ source ~/.bash_profile  

测试是否安装正常   rvm -v

rvm -v

(2)用RVM升级Ruby

#查看当前ruby版本

$ ruby -v

#列出已知的ruby版本

$ rvm list known

rvm list known

#安装ruby 2.4.1

$ rvm install 2.4.1

安装完成之后ruby -v查看是否安装成功。

ruby -v

2、更新ruby镜像

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

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

$ gem sources -a  https://gems.ruby-china.org

$ gem sources -l  (用来检查使用替换镜像位置成功)

3、下载安装CocoaPods

$ sudo gem install cocoa pods  如果一切正常,你应该能看到一段安装进度

如果出现这个

无权限安装

说明没有权限,需要输入:

                                 $ sudo gem install -n /usr/local/bin cocoapods

安装成功如下:

CocoaPods安装成功

在终端中输入:pod search AFNetworking

执行后可能会一直停在 Setting up CocoaPods master repo,然后(很久)会出现如下错误:

这说明CocoaPods还不能正常使用,需要更新pod,下载它的一些依赖包;在终端中输入:

   $ pod setup   安装本地库

过一段时间之后,你会在终端中看到跟上面同样的红色的错误信息。

这说明某些环境原因导致pod更新不了,可能原因有,1)gem版本太低;2)github无法链接;3).cocoapods目录下的配置信息错误。我们可以一个一个来排除,

1)首先更新gem到最新版本,在终端中输入:

$ sudo gem update --system   // 第一步已做过

2)然后检查是否可以ping通github,在终端中输入:

$ ping github.com

或 $ ping -c 10 github.com 制定送出的数据包数目 

或 ctrl+c停止发送  ctrl+z暂停

3)然后查看pod repo list:

$ pod repo list

cd ~/.cocoapods,进入cocoapods文件后在终端输入:du -sh *,查看文件大小,结果显示0 repos,说明没有安装成功;

du -sh * 安装失败


du -sh * 安装成功

重新执行pod setup,过一段时间后提示setup completed。在终端中输入 pod list,展示出安装列表;

速度较快的方式:pod install --verbose --no-repo-update

这样总算安装好了。接下来再一次输入:

pod search AFNetworking

输入过后它可能会报:

[!] Unable to find a pod with name, author, summary, or descriptionmatching `AFNetworking`

解决方案是:

输入:rm ~/Library/Caches/CocoaPods/search_index.json

后在一次输入:pod search AFNetworking就可以咯。

4、CocoaPods的使用

首先来到你的项目文件:       cd 项目文件的位置

然后,添加一个Podfile文件:vim Podfile

然后按 i 进入插入模式,进行编辑,在文件中输入以下内容:

Podfile 文件

输入完成后按ESC退出编辑模式,最后输入:wq保存并退出文件。此时可以发现在项目目录下多了一个Podfile的文件,请注意这个文件必须与.xcodeproj在同一目录下。

最后:pod install  / pod install --verbose --no-repo-update

强调一点:Podfile文件的编辑,务必使用vim,防止编码问题导致无法下载。

pod 第三方进程

其他错误: 

(1)出现如下警告

[!] Your Podfile has had smart quotessanitised. To avoid issues in the future, you should not use TextEdit forediting it. If you are not using TextEdit, you should turn off smart quotes inyour editor of choice.

解决办法:不要使用文本编辑去编辑Podfile,使用Xcode编辑,或者使用终端敲命令去编辑。

(2) 执行pod install 或pod update 命令后,updating local specsrepositories 卡住不动

解决办法:pod install 被墙了,换成新的命令pod install --verbose --no-repo-update

(3) 项目运行时报错:Thefile “Pods.xcconfig” couldn’t be opened because there is no such file.

解决办法:pod update就可以了。

三、注意项

使用CocoaPods还需要注意以下几点:

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

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

3. 当你执行pod install之后,除了Podfile外,CocoaPods还会生成一个名为Podfile.lock的文件,你应该把这个文件加入到版本管理中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行pod install 不会更改版本,要pod update才会改Podfile.lock了。这样的好处是:当多人协作的时候,可以保证所有人的第三库环境是完全一样的。

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

推荐阅读更多精彩内容