002-CocoaPods简析

上一篇:001-NSRunLoop及CFRunLoop浅析

一、前记

尽管公司里的项目没有用到CocoaPods(综合考虑的结果),但最近想看看特定版本的库,用下CocoaPods还是方便一点。一年没用这个了,需要回顾一下,记下这篇,以后要用可以来看。

二、安装

1、可用的源

打开终端输入:

gem sources

如果是:

https://rubygems.org/

这个被墙了,用不了。需要换一个源,先删了没用的

sudo gem sources --remove (错误的源)

然后再添加正确的源:

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

2、安装CocoaPods

sudo gem install CocoaPods

这里需要等待安装

安装结束后,有提示,且

pod 

输入pod 加回车,会有帮助显示,这表示安装成功

如果显示command not found 表示没有安装成功

3、使用CocoaPods

  • 打开终端,输入:cd (空格) (项目拖进来)
  • 输入pod init (为了生成podFile,已经有了就不用此步骤了)
  • “#”是注释作用
  • platform :ios, ‘8.0’表示最低版本兼容8.0
  • use_frameworks! 支持swift语言
  • 配置写法 pod ‘第三方方库名称’,这个配置 写在 target 和 end 之间

4、更新

本来是使用命令

pod update

由于被墙,需要使用下面这个命令更新

pod update --verbose --no-repo-update

三、问题来了

1、历史描述

CocoaPods是一个可以帮你集中管理第三方库的开源项目,运行在Ruby的环境下,基于GitHub托管优势,你可以很方便的查阅目前依赖于CocoaPods的资源

2、gem老化问题,可以试着升级gem

sudo gem update --system

3、使用CocoaPods镜像索引

所有的项目的Podspec文件都托管在 https://github.com/CocoaPods/Specs 第一次执行pod setup时,CocoaPods会将这些podspec索引文件更新到本地的 ~/.cocoapods/目录下,这个索引文件比较大,有80M左右。所以第一次更新时非常慢。

有人在gitcafe和oschina上建立了CocoaPods索引库的镜像,因为gitcafe和oschina都是国内的服务器,所以在执行索引更新操作时,会快很多。如下操作可以将CocoaPods设置成使用gitcafe镜像:

第一步:删除master

pod repo remove master

第二步:将以上代码中的 https://gitcafe.com/akuandev/Specs.git 替换成 http://git.oschina.net/akuandev/Specs.git 即可使用oschina上的镜像。

pod repo add master https://gitcafe.com/akuandev/Specs.git

第三步: 更新

4、镜像不可用问题

因为有人说淘宝源不能用了,虽然我现在使用时还能用,为了以防万一,还是要有解决方案

第一种安装:git clone方法安装cocoapods

在终端中,进入该目录

cd ~/.cocoapods/repos

若没有以上目录,执行下面指令,出现.cocoapods的目录后可以ctrl+c终止安装。sudo gem install cocoapods是常规的安装方法,不过现在只是用来建立一下.cocoapods目录。手动建立.cocoapods目录应该也是可以的,不过没试过。如果能进入~/.cocoapods/repos的目录就忽略下面一条指令。

sudo gem install cocoapods

克隆一个Specs库,在终端必须进入到~/.cocoapods/repos的目录才执行以下命令。

git clone https://github.com/CocoaPods/Specs

完成后,执行open .打开当前目录repos

open .

然后把Specs目录改名为master即可。(~/.cocoapods/repos的目录层级)

如果gitclone还慢的话,直接上 https://github.com/CocoaPods/Specs 点击下载。根据上面的目录结构图,放对了就好。

安装中可能遇到的问题:

运行pod后显示:"pod: command not found"的错误。赋予/usr/local/bin给予执行与读取权限,执行以下命令。若不行执行sudo chmod 777 /usr/local/bin/。

sudo chmod 700 /usr/local/bin/

安装cocoa pods后,在终端执行pod search第三方框架时出错:[!] Unable to find a pod with name, author, summary, ordescriptionmatching AFNetworking

解决方案:执行

rm ~/Library/Caches/CocoaPods/search_index.json

然后再执行pod search第三方框架

pod search afnetworking

按q退出搜索。

第二种安装:
添加新镜像 https://gems.ruby-china.org

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

安装:苹果系统升级 OS X EL Capitan 后改为

sudo gem install -n /usr/local/bin cocoapods
pod setup

更新gem

sudo gem update --system

新建文件 vim “Podfile” (终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)

vim Podfile

5、执行pod install还是pod update都卡

原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update
pod update --verbose --no-repo-update

6、搜索第三方出现-bash: pod: command not found的错误

解决方案:命令一:

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

命令二:

sudo chmod +rx /usr/local/bin

7、上述第4点第一种方案,完全没有安装过的用户是没有~/.cocoapods目录的

可以采用第二种方案

四、https://gems.ruby-china.org/ 访问不了

使用sudo gem update --system更新时

错误为:
Error fetching https://gems.ruby-china.org/: bad response Not Found 404 (https://gems.ruby-china.org/specs.4.8.gz)

https://gems.ruby-china.org/ 访问不了

域名改为

https://gems.ruby-china.com/

所以替换 ruby-china 提供镜像,正确的操作是:

$ sudo gem update --system

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

$ gem sources --remove https://ruby.taobao.org/ //如果安装了淘宝的镜像

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

gem sources -a https://gems.ruby-china.com/

为了验证你的Ruby镜像是并且仅是ruby-china,可以用以下命令查看:

$ gem sources -l

*** CURRENT SOURCES ***

https://gems.ruby-china.com

下一篇:003-移动支付01-微信支付-账号申请

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

推荐阅读更多精彩内容