十八.安装cocoaPods及使用--macOS系统版本是10.12

当我打开下载的demo的时候,发现demo里用的是pods文件,(此时已经抓狂),因为我没怎么用过,正好又闲来无事,所以打算学学如何安装cocoapods(坑路漫漫无期远,真是从一个坑中跳出又跳进另一个深不见底的坑中...........).
**
首先我们就要了解什么是CocoaPods
**CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。
---------------------来吧开始入坑步骤吧-----------------------

一.Ruby版本的更新

**很多人会迷惑,为什么安装CocoaPods,需要更新Ruby。因为CocoaPods使用Ruby脚本写的,系统自带的Ruby版本太低,无法正常运行CocoaPods的,需要一个Ruby高版本的Ruby让CocoaPods正常工作。

mac默认是有的(https://rubygems.org/) 但是不能用,
以前接触的时候说是安装淘宝的镜像(https://ruby.taobao.org/),
无论是http还是https的,我都没有安装成功,
后来百度后得知用https://gems.ruby-china.com/

添加ruby-china Source到gem中
gem sources -a https://gems.ruby-china.com

(这个是中国的,恩,是中国的....),当然跟换这个ruby的时候又出现了新的问题,他得和mac的macOS系统版本对应,我的是10.12,相对的ruby的版本应该2.3.0以上的.
(至于如何跟新ruby,参考Ruby升级的最新方法//www.greatytc.com/p/659d4f83ab13)

D2EA9FE7-EDD5-4088-8A96-9B8A78B50972.png
查看ruby版本的方法:(表示我已经安装好了2.3.0版本的....略喜)
YJCdeMac-mini:~ elt$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin16]

二,安装cocoapods

1.查看资源

YJCdeMac-mini:~ elt$ gem sources -l
*** CURRENT SOURCES ***

https://gems.ruby-china.org/      <<<-----有啦
注意!!!!得确保有一个 如果还有其他镜像,要移除
$ gem sources --remove https://rubygems.org/
或者
$ gem sources --remove https://ruby.taobao.org/

2.命令输入安装cocoaPods

YJCdeMac-mini:~ elt$ sudo gem install cocoapods 
接着要求此处需要输入密码
Password:(此处有坑....深坑....我输了半天结果什么都没显示,奇了个怪,啥玩意啊?
原来:终端输入密码不会显示,但是实际已经输入了,当你输入完按完敲击回车就可以了- -!~
原谅我因为这个真不知道,隔行如隔山,此时此处,深有体会)

紧接着漫长的等待.......差不多半个小时吧.
出现一堆数据(等待需要很久的时间,与网速有关,我的是下载了三个相关文件)

Fetching: cocoapods-trunk-1.1.2.gem (100%)
Successfully installed cocoapods-trunk-1.1.2
........
remote: Counting objects: 1159361, done.        
  remote: Compressing objects: 100% (584/584), done.        
  remote: Total 1159361 (delta 232), reused 33 (delta 33), pack-reused 1158714        
  Receiving objects: 100% (1159361/1159361), 387.09 MiB | 711.00 KiB/s, done.
  Resolving deltas: 100% (550183/550183), done.
  Checking out files: 100% (144863/144863), done

........感觉是成功安装了 所以尝试搜索下有没有AF(搜索的时候可以不用打全,模糊搜索)

YJCdeMac-mini:~ elt$ pod search afnet
[!] Unable to find a pod with name, author, summary, or description matching `afnet`

结果又冒出新的红色错误,大意不能搜索三方库(这就尴尬了,咋搞?又得百度)
说是search_index.json这个文件的原因,可以将其删除,然后重新生成便可解决此问题。

百度搜到的方法是 在终端输入
rm ~/Library/Caches/CocoaPods/search_index.json  

我想应该可以了吧_~于是再次输入

YJCdeMac-mini:~ elt$ pod search afnet

可是可是可是可是.............(抓狂ing.....)
又出现问题了............
卡在这个地方不动了......(下班了~心累了标记待续....)

Creating search index for spec repo 'master'..

cocoaPods大爷我又来了.......找百度大爷去.....(坑啊~~~真的坑我以为它死在这不动了,于是想办法退出,关掉,重新下载,等待,退出......又循环了一遍😢)最终无意发现.........
解释如下:(怪我没耐心,怪我傻,怪公司网速不给力,怪我电脑,怪我怎么没早早看到.怪我,怪我啊~)

如果是第一次执行这条语句,会出现
Creating search index for spec repo 'master'..字样
,需要等待一段时间,时间长短由网速决定

加载完之后,字样是这样的(多出一个----->Done)
Creating search index for spec repo 'master'.. Done!,
紧接着就是AFNetworking的相关信息

呵呵了~~~真的,呵呵了,抱着抓狂的心态,苦苦等待.....终于出现了


244656D6-D9D0-4415-9227-F610CF989745.png

期间遇到一点小尴尬,一直往下拖,无穷尽也,好吧,请教一下,原来输入wq就可以退出......

图片.png

至此!!!!!!!cocoapods 就安装成功啦~
当然百度搜索的时候 有的人提出 pod setup 这一步 当我执行操作的时候,等了一会出现,是设置相关,不是太明白次步骤....(求解)


图片.png

二.使用pods

  • 1.创建新项目
    终端输入,cd 将项目拖入cd后
YJCdeMac-mini:podsText1 elt$ cd /Users/elt/Desktop/podsText1 
  • 2.初始化pods
YJCdeMac-mini:podsText1 elt$ pod install 
  • 3.给该项目添加一个podfile 文件 并进入编辑页面
YJCdeMac-mini:podsText1 elt$ vim podfile

在此之前,先找到需要的第三方 pod search xxx第三方名字,以及写法
eg:MBProgressHUD

图片.png

进入该页面,键盘输入 "i" 即进入编辑页面,

图片.png

移动上下键,调整小黑快的位置

图片.png

按Esc退出编辑状态

图片.png

输入“ :”号进入vim命令模式,然后在冒号后边输入wq 回车键
!注意:键盘输入 :后,才能输入wq。回车后发现PodTest1项目总目录中多一个Podfile文件

图片.png
图片.png
  • 4.将第三方导入你的文件中了(😜) 需要的时间比较长一些 别着急慢慢等待 (与个人网络因素有关)
YJCdeMac-mini:podsText1 elt$ pod install 
[注意!]执行"pod install (如果终端出现updating local specs repositories,
那么请用ctrl+c强制结束命令进程,
然后执行 pod install --verbose --no-repo-update 或者 pod install --no-repo-update"

之后再项目文件中你会发现多出很多东西
注意:现在打开项目不是点击 PodTest.xodeproj了,而是点击 PodTest.xcworkspace


图片.png
  • 5.该使用第三方了,在使用页面
    [注意!]不在是我们之前的#import "xxx.h",而是#import <xxx.h>
    😁~~可以使用了

至此,pods安装使用基本都已经完成了,是不是很开心?NONONO,其实还是有坑的,比如:添加,删除,跟新,又得折腾一会.......(不过会一种方法,其他都是浮云)

四,增删改查

1.添加新的第三方

两种方法:
1.用终端添加:cd打开文件---->进入编辑页面vim podfile(此时就不用再创建podfile文件了,因为已经存在了)------>在编辑页面pod 'xxx(第三方名字)', '~> x.x.x(版本号)'--------->退出编辑,执行pod install 就OK拉~~~

图片.png

以下表示添加成功~~~


图片.png

项目中也添加

图片.png

2.第二种方法:eg:添加MBProgressHUD

图片.png

输入 pod 'MBProgressHUD', '~> 1.0.0'

图片.png

在终端cd打开文件---->执行pod install (或者pod install --no-repo-update,貌似这个快一点) 就OK拉~~~

图片.png

2.删除某第三方

还是两种方法 ,直接将以下删除,重复执行终端操作:
在终端cd打开文件---->执行pod install (或者pod install --no-repo-update,貌似这个快一点) 就OK拉~~~

pod 'xxx(第三方名字)', '~> x.x.x(版本号)'

eg: 删除pod 'YBPopupMenu', '~> 0.1.2'

图片.png

3.跟新某第三方

eg:我项目中是2.0的


图片.png

pods search 是3.1.0的


图片.png

直接将pod 'AFNetworking', '~> 2.0'换成pod 'AFNetworking', '~> 3.1.0',终端操作:
在终端cd打开文件---->执行pod install (或者pod install --no-repo-update,貌似这个快一点) 就OK拉~~~
图片.png

4.查看项目中第三方/pods查找第三方(这个其实没必要,为了(押韵?)(好看?)(顺口?)(数据库?)....你懂得)

直接点开podfile/pods search XXX第三方

五.删除整个项目中的pods(Pods让你的项目出现了问题,不好用甚至是恶心,想将其从项目中彻底移除......好吧,继续)(百度查的,原文http://www.cnblogs.com/oc-bowen/p/5251668.html)

  • 1.删除工程文件夹下的Podfile、Podfile.lock和Pods文件夹
  • 2.删除xcworkspace文件。
  • 3.打开xcodeproj文件,删除项目中的Pods文件夹及Pods.xcconfig引用和libpods.a:
图片.png
  • 4.打开Build Phases选项,删除Check Pods Manifest.lock和Copy Pods Resources,以及Embeded Pods Frameworks:
图片.png
  • 5.编译运行,咳咳~over了

作者有句话看的我揪心,但又贴切(其实不喜欢)....送给大家

我虐代码千百遍,代码待我如初恋!

-------------------------总结一些pod终端命令------------------------

  • Pod 安装
添加源
$ sudo gem sources -a  https://ruby.taobao.org/
 删除源
$ sudo gem sources -r  https://rubygems.org/
 安装
$ sudo gem install cocoapods
 设置
$ pod setup
  • gem 常用命令
 查看gem源
$ gem sources –l
 gem自身升级
$ sudo gem update --system
 查看版本
$ gem --version
 清除过期的gem
$ sudo gem cleanup
 安装包
$ sudo gem install cocoapods
 删除包
$ gem uninstall cocoapods
 更新包
$ sudo gem update
 列出本地安装的包
$ gem list
  • pod 命令
 创建默认的 Podfile
$ pod init        //pod --help install
 第一次使用安装框架    //只用安装一次,之后使用 添加删除都用 pod update --no-repo-update 
$ pod install
#安装框架,不更新本地索引,速度快
$ pod install --no-repo-update 
#今后升级、添加、删除框架,或者框架不好用
$ pod update
 更新框架,不更新本地索引,速度快
$ pod update --no-repo-update 
#搜索框架
$ pod search XXX# 
帮助
$ pod --help
  • 小知识
期间 学会几个小知识(因为完全不会这个,所以感觉学到了)
1.打开安装的cocoapods的路径 --->        ~/.cocoapods
2.当发现终端 卡在Creating search index for spec repo 'master'..
不动的时候  可以按  ctrl+z  退出- - ~~

以后遇到问题再添加吧.....晚安

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

推荐阅读更多精彩内容

  • 原文地址://www.greatytc.com/p/b64b4fd08d3c 一、什么是CocoaPods...
    wyman666666阅读 521评论 0 0
  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,662评论 3 51
  • 中午吃饭休息时间,同事们在嬉闹着聊天,我在低头吃饭,突然一同事大声说了句:“你们要钱还是要命?” 大家都愣了,没反...
    凌晨5点半书虫阅读 920评论 20 8
  • 20170320Python基础语句 试着更改了下Pyhon文件夹到熟悉的目录中,提示【python不是内部或外部...
    田旭1阅读 288评论 0 0
  • 就这样吧 笑容刚刚好 不会为另一个人悲伤 就这样吧 独一无二 内心明媚 就这样吧 好好生活 每天努力生活 大口呼吸...
    三月花i阅读 167评论 0 0