2019 CocoaPods安装和使用

文章最后补充内容
补充: cocospods指定第三方的版本号 (180726)
补充: 跳过pod setup快速安装 (180811)
补充: 最近ruby-china域名变化由org更改为com,请大家改为 https://gems.ruby-china.com
补充: 解决MacOS Mojave10.14 Pod 报错 (191106)

第一步:先把ruby源搞定.

安装CocoaPods,需要ruby环境,然而Mac系统默认会安装好ruby环境。

打开Mac终端

gem sources -l //查看ruby源

默认情况下,会显示

https://rubygems.org/

ruby源在墙内是访问不到的,需要置换为国内

原来一直用的是淘宝的

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

但是现在不更新了,不建议用,原因可以看这个链接 https://ruby.taobao.org/

现在用这个

//删除之前使用的淘宝
//gem sources --remove  https://ruby.taobao.org/
//gem source -a https://gems.ruby-china.org

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

gem sources -l              //检测是否成功

只有在终端中出现下面文字才表明你上面的命令是成功的:

https://gems.ruby-china.org

补充: 最近ruby-china域名变化由org更改为com,请大家改为 https://gems.ruby-china.com

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

第二步:升级Gem.

Gem是来管理Ruby标准包.

sudo gem update   //升级gem
gem -v             //查看版本

不升级在第三步可能,会报很多错误的,因为Gem版本太低,无法安装第三步,安装CocoaPods

第三步,安装CocoaPods

sudo gem install cocoapods  // Mac OS X 10.11前  输入这一条
sudo gem install -n /usr/local/bin cocoapods  //Mac OS X 10.11后   输入这一条

成功后

pod setup   

这条命令是将Github上的开源库都托管都安装Podspec索引安装到到本地,

测试
如果有版本号,则说明已经安装成功

   pod --version
pod setup成功后信息png

第四步,利用cocoapods来安装第三方框架

  • 1 进入要安装框架的项目的.xcodeproj同级文件夹

  • 2 在该文件夹中新建一个文件Podfile

pod init 

pod init首先需要判断当前目录有没有 XCODEPROJ 项目,如果没有直接报错;若果有单个 XCODEPROJ 项目,会直接创建一个 podfile 文件;如果有多个XCODEPROJ 项目,需要指定一个项目,否则会报错:

[!] Multiple Xcode projects found, please specify one

或者手动 新建文件Podfile vim Podfile

vim Podfile

Podfile文件中, 写入以下内容并保存 小提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)

platform :ios, '7.0'
#inhibit_all_warnings!
target 'MyApp' do
  pod 'AFNetworking' , '~> 3.1.0'
end 

解释一下
platform : ios, '7.0'代表当前AFNetworking支持的iOS最低版本是iOS 7.0,
MyApp : 就是你自己的工程名字,
pod 'AFNetworking', '~> 3.1.0'代表要下载的AFNetworking版本是3.1.0及以上版本,还可以去掉后面的'~> 3.1.0',直接写pod 'AFNetworking',这样代表下载的AFNetworking是最新版。

  • 3 上面信息表示文件中告诉cocoapods需要安装的框架信息
a.该框架支持的平台
b.适用的iOS版本
c.框架的名称
d.框架的版本
  • 4.导入第三方库
    --no-repo-update : 不更新仓库,迅速加载第三方框架
pod install --no-repo-update
pod update --no-repo-update
导入第三方库 成功后信息.png
  • 5.可使用search命令搜索类库名
    比如:
pod search AFNetworking(也可以pod search UI等,可以查询你想要的)

退出搜索, 输入 :wq

第五步,CocoaPods 中删除不需要的第三方库

  • 1 打开Podfile, 找到不需要的类库, 直接删除该类库信息
    比如要删除AFNetworking库 ,直接去掉Podfile中第五行信息 pod 'AFNetworking', '~> 3.1.0'


    删除AFN库.png
  • 2 打开终端cd到当前项目的根目录下重新执行

pod update --no-repo-update
  • 3 更新完成就删除成功了

补充:cocospods指定第三方的版本号

pod 'AFNetworking'   //不显式指定依赖库版本,表示每次都获取最新版本
pod 'AFNetworking', '2.0'   //只使用2.0版本
pod 'AFNetworking', '> 2.0'   //使用高于2.0的版本
pod 'AFNetworking', '>= 2.0'   //使用大于或等于2.0的版本
pod 'AFNetworking', '< 2.0'   //使用小于2.0的版本
pod 'AFNetworking', '<= 2.0'   //使用小于或等于2.0的版本
pod 'AFNetworking', '~> 0.1.2'   //使用大于等于0.1.2但小于0.2的版本
pod 'AFNetworking', '~>0.1'   //使用大于等于0.1但小于1.0的版本
pod 'AFNetworking', '~>0'   //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

补充: 跳过pod setup快速安装

有不少同学执行pod setup这一步, 感觉很慢.....

大约要下载200M的文件,偏偏下载速度出奇的慢,本人保持在30K/S,大约2个小时,关键是没有任何进度条显示,就这样傻乎乎的卡死在这里

一句 pod setup 卡你2个小时,前提还是你安装没有错,如果错误,又要重新2小时.非常浪费时间

前面说了,pod setup 这条命令是将Github上的开源库都托管都安装Podspec索引安装到到本地.

简单说就是下载一个包,到本地,也就是这个东西

路径.png

如果你同事电脑上有安装好,你其实可以从你同事电脑上拷贝过来,直接放到该路径就OK了.

如果你身边没有装好的CocoaPods的朋友,可以访问这个链接

https://github.com/CocoaPods/Specs (github所有的第三方开源库的Podspec文件都托管在这里,这也是你pod setup所要下载的).

选择Download ZIP,用你的浏览器或者迅雷什么的,什么下载快用什么,分分钟下载完目前为111.3M(随着开源库的壮大,会慢慢变大).

解压后为这个样子

解压后改为master.png

对比上图,Specs-master改名为master 放在 ~/.cocoapods/repos 路径即可.

~/.cocoapods/repos 这个路径是在执行 pod setup生成的,所以电脑无法前往此路径是,建议先pod setup下,然后关闭掉即可生成路径.

还有就是挂个VPN, 会很快下载


补充: 解决MacOS Mojave10.14 Pod 报错

  • 解决MacOS Mojave10.14 Pod报错 -bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory

1.我的解决方法:

(1)首先执行如下命令查看所有 gem 源,检查是否是最新的:

gem sources -l
20191106_1.png

(2)执行如下命令将当前的 gem 源删除:

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

(3)然后在执行如下命令添加新的 gem 源:

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

(4)接着执行如下命令更新 gem

sudo gem update --system

(5)接着执行如下命令升级 CocoaPods, 执行完这步, 这时试下pod init 可以的话,可以不操作6,7步

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

(6)接着执行如下命令更新本地仓库

pod repo update

(7)最后再次执行 pod install 命令会发现不再报错了。

2.如果还没解决 试下以下方法:

(1)终端执行

brew link --overwrite cocoapods

(2)尝试 Pod 命令是否已经恢复, 若报错继续执行

brew reinstall cocoapods
brew install ruby
brew link --overwrite cocoapods

(3)尝试 Pod 命令是否已经恢复

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

推荐阅读更多精彩内容

  • 一. CocoaPods的介绍 什么是CocoaPods?CocoaPods是一个负责管理iOS项目中第三方开源库...
    辉712阅读 3,911评论 0 7
  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,630评论 3 51
  • 前言 前几天发布我的开源库<最简单方便的iOS轮播开源库:JYCarousel>到CocoaPods的时候。对Co...
    Dely阅读 17,091评论 12 82
  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 21,412评论 0 39
  • 山迈是真女神,懂得多不说,敢爱敢恨,敢拼敢做,不拘泥于小事,事情做的细抠于细节,在广州的和她这几天我很开心,但有种...
    梅画眉丷阅读 234评论 1 1