iOS开发高级程序员Cocoapods

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

2017-03-28  本文已影响196人  择一城终老_蜗牛

当我打开下载的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.org/
(这个是中国的,恩,是中国的....),当然跟换这个ruby的时候又出现了新的问题,他得和mac的macOS系统版本对应,我的是10.12,相对的ruby的版本应该2.3.0以上的.
(至于如何跟新ruby,参考Ruby升级的最新方法http://www.jianshu.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

YJCdeMac-mini:podsText1 elt$ cd /Users/elt/Desktop/podsText1 
YJCdeMac-mini:podsText1 elt$ pod install 
YJCdeMac-mini:podsText1 elt$ vim podfile

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

图片.png

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

图片.png

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

图片.png

按Esc退出编辑状态

图片.png

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

图片.png 图片.png
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

至此,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)

图片.png 图片.png

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

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

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

添加源
$ sudo gem sources -a  https://ruby.taobao.org/
 删除源
$ sudo gem sources -r  https://rubygems.org/
 安装
$ sudo gem install cocoapods
 设置
$ pod setup
 查看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
 创建默认的 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  退出- - ~~

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

上一篇下一篇

猜你喜欢

热点阅读