CocoaPods - 安装及使用

安装CocoaPots的顺序:Xcode -> Homebrew -> RVM -> Ruby -> CocoaPots;

安装前准备:

  1. 一般系统curl的postBuffer默认值太小,安装过程中会报如下错误:
    error: RPC failed; curl 18 transfer closed with outstanding read data remaining
    先终端运行命令,加大postBuffer:
$ Git config --global http.postBuffer 524288000

附:

  • 如下命令可以查看postBuffer空间大小:
$ git config --list
  1. raw.githubusercontent.com有时连不上,进入系统hosts文件修改配置。(进入方法请参考《mac安装hombrew报错》
    在hosts文件中添加如下两行:
151.101.76.133  raw.githubusercontent.com
13.229.188.59   github.com

第一步:安装Homebrew

  1. 终端运行命令(获取最新命令:《Homebrew》),开始安装:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

安装完成提示:

==> Installation successful!

附:

  • 卸载Homebrew:
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

第二步:安装RVM

  1. 终端运行命令:(参考:《Ruby Version Manager (RVM)》第二个命令)
$ \curl -sSL https://get.rvm.io | bash -s stable

期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好RVM。
安装完成提示:

Thank you for using RVM!

  1. 终端运行命令,载入 RVM 环境:
$ source ~/.rvm/scripts/rvm
  1. 终端运行命令,验证是否安装正确:
$ rvm -v

如显示以下信息:
RVM version 1.29.9 (latest) is installed, yet version 1.29.10 (1.29.10) is loaded.
Please open a new shell or run one of the following commands:
rvm reload
echo rvm_auto_reload_flag=1 >> ~/.rvmrc # OR for auto reload with msg
echo rvm_auto_reload_flag=2 >> ~/.rvmrc # OR for silent auto reload

则依次使用命令升级,然后再次执行上一步验证,终端运行:

$ rvm reload
$ rvm get 1.29.10

附:《rvm安装与一些命令》
如出现下方类似结果,则表示安装正确:

rvm 1.29.1 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io/]

第三步:用RVM安装Ruby环境

  1. 终端运行命令,列出已知ruby版本:
$ rvm list known
  1. 终端运行命令,安装ruby:(2.4.0为列出的版本中最下方一个)
$ rvm install 2.4.0

可能需要管理员权限,使用:

$ sudo rvm install 2.4.0

如若报如下错误:
Error running '__rvm_make install',
please read /Users/UserName/.rvm/log/1507886631_ruby-2.4.1/install.log
There has been an error while running make install. Halting the installation.

则先卸载刚才未安装成功的Ruby,然后终端运行:

$ xcode-select --install

如若报如下错误:
Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.

给当前用户添加目录权限,终端运行:

$ sudo chown -R $(用户名) /usr/local

参考文章:《homebrew 无法安装提示不能在根目录下使用》
安装软件,然后再重新执行步骤2安装。
安装完成提示:

Install of ruby-2.4.0 - #complete

  1. 终端运行命令,在rvm装好后,设置系统默认版本:
$ rvm 2.4.0 --default

附:

  • 查看已安装的ruby:
$ rvm list
  • 卸载一个已安装的版本:
$ rvm remove 2.4.0

第四步:修改Ruby的默认源

  1. 终端运行命令,删除已有源:
$ gem sources --remove https://rubygems.org/
  1. 终端运行命令,添加源:
$ gem sources -a https://gems.ruby-china.org/

参考文章:《RubyGems 镜像- Ruby China》
以上两句可合并为:

$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
  1. 验证是否替换成功:
$ gem sources -l

第五步:更新MAC的Gem

  1. 终端运行命令:
$ sudo gem update -n /usr/local/bin —system

附:

  • 查看已安装的gem版本:
$ gem —version

第六步:安装CocoaPods

  1. 终端运行命令,开始安装:
$ sudo gem install -n /usr/local/bin cocoapods

安装完成提示:

26 gems installed

  1. 终端运行命令,更新pod:
$ pod setup

如若报错:error: RPC failed; curl 56 SSLRead() return error -36| 1024 bytes/s
则终端运行:

$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

后再重新安装。
安装完成提示:

Setup completed

附:

  • 更新CocoaPods:
$ sudo gem update cocoapods
  • 查看是否可以ping通github:
$ sudo gem update --system
  • 卸载CocoaPods:
  1. 获得路径:
$ which pod
  1. 移除pod组件:
$ sudo rm -rf /usr/local/bin/pod

后面的地址就是上一步的地址,需输入电脑密码。

  1. 查看gems中本地程序包:
$ gem list
  1. 删除cocoapods部分:
$ sudo gem uninstall cocoapods
  1. 查看是否删除成功:
$ pod search AFNetworking

删除成功提示:

command not found

第七步:查看是否安装成功

  1. 终端运行命令,搜索三方库看是否成功:
$ pod search RMPickerViewController

如提示:“Creating search index for spec repo 'master'.. Done!”,请等待。

  1. 搜索成功,q键退出。

第八步:使用CocoaPods安装三方库

  1. 终端运行命令,更改路径:
$ cd /Users/你的电脑账户名/Documents/工程名

如果你不知道自己的路径,可以将文件夹拖入Termal,会自动帮你完成路径输入。

  1. 终端运行命令,在路径下新建Podfile文件:
$ touch Podfile
  1. 手动在路径下选中刚才新建的Podfile文件,右键选择使用XCode打开,在其中输入以下代码:(亦可命令输入,不过有点麻烦,本人习惯用XCode编辑)
    此为cocoapods 1.0.0后Podfile新写法,参考文章:《CocoaPods升级1.0.0碰到的问题》

platform :ios, '10.0'
inhibit_all_warnings!
target '工程名' do
use_frameworks!
pod 'MJRefresh', '~> 3.1.9’
end

  1. 终端运行命令,安装三方库:
$ pod install

安装完成提示:

[!] Please close any current Xcode sessions and use 工程名.xcworkspace for this project from now on.
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 1 total
pod installed.

附:

  • 更新本地pod库:
$ pod update

pod install 与 pod update 的区别,参考这里->

  • 查看三方库版本(如上方第七步):
$ pod search JSONModel

以JSONModel为例,“JSONModel”为需要查看的类名。搜索成功后q键退出。

附:关于Podfile文件

  1. platform:指定项目支持的平台以及最低版本;
  2. “inhibit_all_warnings!”:全局禁止显示警告,这个特性也能在子target里面定义,如你只想屏蔽某pod里面的警告可以如下写:
pod 'Objection', :inhibit_warnings => true
  1. target:指定依赖库;
  2. “use_frameworks!”:告诉CocoaPods使用.frameworks来代替.a静态库,当使用Swift的时候使用。详见Podfile中的 use_frameworks!
  3. pod:指定工程的一个依赖,一个依赖项通过pod名和可选的版本号来声明。如不写后方版本号(如只写:pod 'Objection'),则表示直接安装最新版本;如写版本号(如只写:pod 'Objection', '0.1’),则表示安装指定版本号的版本;对版本号的操作除了指定与不指定,你还可以做其他操作:

pod 'Objection', '>0.1' #------ 高于0.1的任何版本;
pod 'Objection', '>=0.1' #------ 版本0.1和任何更高版本;
pod 'Objection', '<0.1' #------ 低于0.1的任何版本;
pod 'Objection', '<=0.1' #------ 版本0.1和任何较低的版本;
pod 'Objection', '~>0.1.2' #------ 版本 0.1.2的版本到0.2,不包括0.2。这个基于你指定的版本号的最后一个部分。这个例子等效于>= 0.1.2并且 <0.2.0,并且始终是你指定范围内的最新版本;

参考文章:
《CocoaPods安装和使用教程以及RVM、RuBy的安装配置》
《Podfile语法参考(译)》
《CocoaPods 详解》
等。。。

另:听说可以使用CocoaPods.app,有兴趣的可以看看!
网上的使用教程:《iOS Cocoapods APP 使用教程》
下载地址:cocoapods.org

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

推荐阅读更多精彩内容

  • CocoaPods作用:集成与更新第三方SDK。 因为更新SDK的时候失败了,没办法只好重装。 一. 1.先卸载老...
    1d5cb7cff98d阅读 923评论 0 0
  • Xcode->Homebrew->RVM->Ruby->CocoaPods  上面是安装顺序,所以要想安装Coco...
    DH_Fantasy阅读 6,756评论 5 6
  • 跟他妹妹睡一张床,晚上她吐槽他哥,最后问我,姐姐你看上他啥了?!是哦,说不出来的,看上他啥了?!消极,偶尔自虐...
    琚家小颖颖阅读 174评论 0 1
  • 很多人想读书,甚至没有很坚定的想法或目的,只是冥冥之中很是赞同“万般皆下品惟有读书高”,而且从古往今来很多名家语录...
    依云杉阅读 575评论 1 3
  • 信阳市平桥二小 杨磊 《道德经》第四十一章作业:我们从小就教育孩子:爸爸妈妈也会有错,有错了你...
    杨蕾001阅读 705评论 0 1