一、简介
什么是CocoaPods
CocoaPods是OS X和iOS下一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。
cocoaPods的好处
1,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编辑阶段,连接器选项,甚至是ARC环境下的-fno-objc-arc配置等。
2,使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。
二,Cocoapods安装步骤
注意:在终端输入命令时,取$后面部分输入
1,升级Ruby环境
终端输入:$ gem update --system
sudo gem update -n /usr/local/bin --system
此时会出现
没有权限升级Ruby的提示
这是因为你没有权限去升级Ruby
这个应该输入:$ sudo gem update --system
此时会出现
输入密码
接下来输入密码,注意:输入密码的时候没有任何反应,光标也不会移动,你尽管输入就是了,输完了直接回车。
等一会如果出现
升级Ruby成功
恭喜你,升级Ruby成功了。
查看Ruby版本:
ruby -v
如果出现SSL一下问题
则请修改~/.gemrc文件,增加ssl_verify_mode: 0配置,以便于 RubyGems 可以忽略 SSL 证书错误。vi ~/.gemrc
这样的话就好了
2,更换Ruby镜像
输入宝石来源-l来查看当前镜像
终端输入:$ gem sources -l
如果结果是
***当前来源***
https://gems.ruby-china.org/
首先移除现有的Ruby镜像
终端输入:$ gem sources --remove https://rubygems.org/
然后添加国内最新镜像源(淘宝的Ruby镜像已经不更新了)
终端输入:$ gem source -a https://gems.ruby-china.com
执行完毕之后用查看命令查看说明添加成功,否则继续执行$ gem source -a https://xx/来添加 最初是https://gems.ruby-china.org/
Error fetching https://gems.ruby-china.org/:
bad response Not Found 404 (https://gems.ruby-china.org/specs.4.8.gz)
这样错误是域名又换了 !请访问最新网址查看之后更换
3,安装CocoaPods
接下来开始安装
终端输入:$ sudo gem install cocoapods
#mac osx 10.11 之后
$ sudo gem install -n /usr/local/bin cocoapods --pre //安装最新版本
$ sudo gem install -n /usr/local/bin cocoapods -v //安装指定的 version
终端输入:$ sudo gem install -n /usr/local/bin cocoapods
安装成功如下:
安装成功
到这之后再执行pod setup(PS:这个过程是漫长的,要有耐心)
终端输入:$ pod setup
然后你会看到出现了设置CocoaPods master repo,卡住不动了,说明Cocoapods在将它的信息下载到〜/ .cocoapods里。
你可以命令+ n新建一个终端窗口,执行cd〜/ .cocoapods /进入到该文件夹下,然后执行du -sh *来查看文件大小,每隔几分钟查看一次,这个目录最终大小是900多M (我的是930M)
当出现安装完成的时候说明已经完成了。
如果没有成功出现这个错误❌
出现这个时候可以直接 pod search AFNetworking
之后安装成功后 也就终于安装完成了,那么到底能不能用呢?咱们接着往下看!
注意:以上所有的步骤都是为这台电脑配置CocoaPods环境,以下才是真正的把CocoaPods安装到你的工程里面。
4,CocoaPods的使用
1,首先我们来搜索一下三方库
终端输入:$ pod search AFNetworking
这时有可能出现
搜索不到的提示
这是因为之前pod搜索的时候生成了缓存文件search_index.json
执行rm ~/Library/Caches/CocoaPods/search_index.json来删除该文件
然后再次输入pod搜索AFNetworking进行搜索
这时会提示为spec repo'master'创建搜索索引
等待一会将会出现搜索结果如下:
AFNetworking搜索结果
出现这个了就说明搜索成功了,看一下上图中的这一句:
pod 'AFNetworking','〜> 3.1.0'
这句话一会我们要用到,这是CocoaPods添加三方库的关键字段
2,在工程中创建一个Podfile文件
要想在你的工程中创建Podfile文件,必须先要进到该工程目录下
终端输入:$ cd / Users / xxx / Desktop / CocoaPodsTest
进来之后就创建
终端输入:$ touch Podfile
然后你在你的工程目录下可以看到多了一个Podfile文件
3,编辑你想导入的第三方库的名称及版本
使用vim编辑Podfile文件
终端输入:$ vim Podfile
进入如下界面
编辑Podfile文件
进来之后紧接着按键盘上的英文'我'键
下面的“Podsfile”0L,0C将变成 - INSERT -
然后就可以编辑文字了,输入以下文字
平台:ios,'7.0'target'MyApp'ododod“AFNetworking”,“〜> 3.1.0”结束
解释一下,“MyApp”就是你自己的工程名字,平台:ios,'7.0'代表当前AFNetworking支持的iOS最低版本是iOS 7.0,'〜3.1.0'代表要下载的AFNetworking版本是3.1.0及以上版本
编完完后成如下样子:
编辑完成
这时退出去了,怎么退出去呢?跟着我做,先按左上角的esc键,再按:键,再输入wq!,点击回车,就保存并退出去了。
这个时候,你会发现你的项目目录中名字为Podfile的文件的内容就是你刚刚输入的内容。
4,把该库下载到Xcode中
终端输入:$ pod install
#mac osx 10.11 之后
pod install --verbose --no-repo-update
这就开始下载了,需要一段时间,出现如下界面就说明安装好了
安装成功
这个时候关闭所有的Xcode窗口,再次打开工程目录会看到多了一个后缀名为.xcworkspace文件。
工程目录
以后打开工程就双击这个文件打开了,而不再是打开.xcodeproj文件。
进入工程后引入头文件不再是#import“AFNetworking.h”,而是#import
一些常用命令
导入第三方库
pod update(比较慢)
或者pod install
或者pod update --no-repo-update
--verbose是打印详细信息.
master的
pod repo remove master
pod repo add master http://git.oschina.net/akuandev/Specs.git
pod repo update
根据提示,跑一下
pod repo update --verbose
升级pod gem版本 sudo gem update cocoapods
查看装了那些 gem list --local | grep cocoapods
全部卸掉 sudo gem uninstall cocoapods
再安装sudo gem install cocoapods
清除缓存 重装
sudo rm -fr ~/Library/Caches/CocoaPods/
sudo rm -fr ~/.cocoapods/repos/master
pod setup
pod 目录 清空
sudo rm -fr Pods/
sudo gem install -n /usr/local/bin cocoapods
pod setup
这条指令会告诉你Cocoapods组件装在哪里 :
which pod
手动移除这个组件 :
sudo rm -rf 路径
查看gems中本地程序包
gem list
移除程序包
sudo gem uninstall cocoapods -v 要移除的版本号
安装指定版本的Cocoapods
sudo gem install cocoapods -v 要安装的版本号
sudo gem install -n /usr/local/bin cocoapods --pre //安装最新版本
项目 pod 的更新
pod update --no-repo-update
终端走代理:
export http_proxy=http://proxyAddress:port
Example:export http_proxy=http://127.0.0.1:1087
报错error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
换掉Git的http版本
git config --global http.version HTTP/1.1
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused error
说是Github的raw文件读取地址遭受DNS污染 或者Command line tool问题(我确信Command line tool没问题)
卸载旧的
rm -rf /Library/Developer/CommandLineTools
安装新的
xcode-select --install
所以 vim修改hosts
修改hosts
macOS直接在终端输入:sudo vi /etc/hosts
199.232.68.133 raw.githubusercontent.com
brew link --overwrite cocoapods