当我打开下载的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)
查看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的相关信息
呵呵了~~~真的,呵呵了,抱着抓狂的心态,苦苦等待.....终于出现了
期间遇到一点小尴尬,一直往下拖,无穷尽也,好吧,请教一下,原来输入wq就可以退出......
至此!!!!!!!cocoapods 就安装成功啦~
当然百度搜索的时候 有的人提出 pod setup 这一步 当我执行操作的时候,等了一会出现,是设置相关,不是太明白次步骤....(求解)
二.使用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
进入该页面,键盘输入 "i" 即进入编辑页面,
移动上下键,调整小黑快的位置
按Esc退出编辑状态
输入“ :”号进入vim命令模式,然后在冒号后边输入wq 回车键
!注意:键盘输入 :后,才能输入wq。回车后发现PodTest1项目总目录中多一个Podfile文件
- 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
- 5.该使用第三方了,在使用页面
[注意!]不在是我们之前的#import "xxx.h",而是#import <xxx.h>
😁~~可以使用了
至此,pods安装使用基本都已经完成了,是不是很开心?NONONO,其实还是有坑的,比如:添加,删除,跟新,又得折腾一会.......(不过会一种方法,其他都是浮云)
四,增删改查
1.添加新的第三方
两种方法:
1.用终端添加:cd打开文件---->进入编辑页面vim podfile(此时就不用再创建podfile文件了,因为已经存在了)------>在编辑页面pod 'xxx(第三方名字)', '~> x.x.x(版本号)'--------->退出编辑,执行pod install 就OK拉~~~
以下表示添加成功~~~
项目中也添加
2.第二种方法:eg:添加MBProgressHUD
输入 pod 'MBProgressHUD', '~> 1.0.0'
在终端cd打开文件---->执行pod install (或者pod install --no-repo-update,貌似这个快一点) 就OK拉~~~
2.删除某第三方
还是两种方法 ,直接将以下删除,重复执行终端操作:
在终端cd打开文件---->执行pod install (或者pod install --no-repo-update,貌似这个快一点) 就OK拉~~~
pod 'xxx(第三方名字)', '~> x.x.x(版本号)'
eg: 删除pod 'YBPopupMenu', '~> 0.1.2'
3.跟新某第三方
eg:我项目中是2.0的
pods search 是3.1.0的
直接将pod 'AFNetworking', '~> 2.0'换成pod 'AFNetworking', '~> 3.1.0',终端操作:
在终端cd打开文件---->执行pod install (或者pod install --no-repo-update,貌似这个快一点) 就OK拉~~~
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:
- 4.打开Build Phases选项,删除Check Pods Manifest.lock和Copy Pods Resources,以及Embeded Pods Frameworks:
- 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 退出- - ~~
以后遇到问题再添加吧.....晚安