CocoaPods 使用

升级ruby 环境

因为准备在项目中使用bootstrap,在安装bootstrap过程中提示需要Ruby的版本在1.9.2以上,而目前使用的Ruby版本是Mac系统自带的1.8.7。所以需要对Ruby进行升级。这里使用RVM对Ruby进行升级,升级过程如下:

1、安装 RVM

RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)

[ruby] view plain copy

  1. curl -L get.rvm.io | bash -s stable

等待一段时间后就可以成功安装好 RVM。

[ruby] view plain copy

  1. source ~/.bashrc
  2. source ~/.bash_profile

测试是否安装正常

[ruby] view plain copy

  1. rvm -v

[图片上传失败...(image-94bc-1539076681308)]

2、用RVM升级Ruby

[ruby] view plain copy

  1. 查看当前ruby版本

  2. ruby -v
  3. ruby 1.8.7
  4. 列出已知的ruby版本

  5. rvm list known
  6. 安装ruby 1.9.3

  7. rvm install 1.9.3

安装完成之后ruby -v查看是否安装成功。

[图片上传失败...(image-866720-1539076681313)]

CocoaPods的安装

1. 查看Ruby环境

默认情况下,Mac OS X已经安装了Ruby环境,检查环境是否正确与Ruby版本可以使用以下命令:

ruby --version

2. 查看当前gem

gem sources -l 
------------------------------
得到的:*** CURRENT SOURCES ***
          https://rubygems.org/

3. 移除不需要的Ruby路径

gem sources --remove https://rubygems.org/

当终端有响应以后在执行下面的步骤。

4. 添加镜像

gem sources -a https://gems.ruby-china.com

5. 检查镜像是否正确

gem sources -l //(这里是小写的L)

下面是一些更新操作

1. 更新gem
sudo gem update --system
2.升级 CocoaPods
第一种: sudo gem install -n /usr/local/bin cocoapods --pre
               sudo gem install cocoapods -n /usr/local/bin
第二种: sudo gem install cocoapods 
3.更新本地仓库
pod repo update

二、安装CocoaPods

输入以下命令后,输入管理员密码,等待安装(输入密码回车后,可能要等一会儿才会有反应)


sudo gem install cocoapods

这一步完成后,可以看到大量的Log信息出现在终端中,最后一行是:


19 gems installed

这样CocoaPods就安装完成了。

:/* cocoapods使用步骤:
1.在终端输入命令:cd 工程文件夹的目录(可以直接拖工程文件夹进终端)
2.创建Podfile文件:touch Podfile(是Podfile不要记错了)//或者: pod init
3:进入命令行:vim Podfile
4.紧接着按键盘上的“i”键,对Podfile文件进行编辑,例如
platform:ios, ‘8.0‘
pod ‘AFNetworking‘, ‘~> 3.1.0‘ (ios 进入的时候搜索下就下)
在编辑完成后按“esc”
5.在按“:”,这个时候输入wq,点击回车,保存并退出

6.然后在终端输入命令安装相应的第三方类库 $ pod install //或者 pod install

注:如果要在工程中导入多个第三方框架,直接vim Podfile进入编辑,在后面继续添加你要导入的第三方就行了,不用重新touch Podfile, 保存后pod instal
*/

//三 删除
1.先 cd 文件夹
2.vim Podfile 3.进入后直接把对应的删除,完后pod update
4.不能在工程里面直接删除

//参考网址 :http://www.saitjr.com/ios/ios-cocoapods-install-and-use.html

platform :’ios’, ’8.0’
target ’snikp’ do //snikp是工程名
pod ‘snikp’
end
三:创建工程使用 cocoapods 时没有出现 xcworkspace 文件解决方法

可以使用下面的解决方法

sudo gem 
sudo gem install -n /usr/local/bin cocoapods --pre

3. 在工程目录下 pod install

四. 更新三方库

  1. 只更新指定三方库,不更新其他三方库
pod update 第三方名字  --verbose --no-repo-update
例如:
pod update AFNetworking  --verbose --no-repo-update
  1. 只想给项目添加新的第三方,不更新本地已经存在的第三方
pod install --verbose --no-repo-update

五. 导入较大的三方库

  • 在pod install 很大的三方库时,这个时候一般会报错
error: RPC failed; curl 18 transfer closed with outstanding read data remaining 
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
第一种解决方案:
  1. 将curl的postBuffer值配置为500M,具体值看项目需求,配置成功不会有提示,配置失败会有提示,终端输入命令:
git config --global http.postBuffer 524288000
git config --global https.postBuffer 524288000

这里一共有两条,都必须添加,一个是http,一个是https。网上很多都是错误的。

2.查看配置,输入命令:

git config --list

效果如下 注意查看其中的postBuffer对应的值是否是设置的值,如果是,设置成功,否则,设置失败

credential.helper=osxkeychain
http.postbuffer=524288000
https.postbuffer=524288000
  1. 使用pod命令导入三方库,并且可以查看实时进度
pod install --verbose --no-repo-update

这时你会看到有很多信息出来,只需要看最后几行

 > Git download
 > Git download
     $ /usr/bin/git clone https://github.com/Tencent/wcdb.git
     /var/folders/sq/58ph4dgj07199tx2bfdcxtsj6wn2t0/T/d20200819-10638-4wry34
     --template= --single-branch --depth 1 --branch v1.0.8.2

看到/var/folders/sq/58ph4dgj07199tx2bfdcxtsj6wn2t0/T/d20200819-10638-4wry34这一行,就是下载三方库的存储路径。

重新打开一个新的终端窗口,先cd 到这条路径下

cd  /var/folders/sq/58ph4dgj07199tx2bfdcxtsj6wn2t0/T/d20200819-10638-4wry34

再,使用命令查看实时下载进度,建议每隔一分钟看一次

du -sh

这时就会看到当前下载量,有没有中断

xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
5.0M    .
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
6.0M    .
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh                       
6.0M    .
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
7.0M    .
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
7.0M    .
xiao.wang@NCDLONGZHENG01 d20200819-10638-4wry34 % du -sh
9.0M    .
第二种解决方案

在第一种方案下也不行的话,使用以下方案

  • 先浅层clone,然后更新远程库到本地
git clone --depth=1 http://gitlab.xxx.cn/yyy/zzz.git
git fetch --unshallow

直接将三方库先clone到本地,再倒入项目中

第三种解决方案

是采用风哥的快速导入,参考链接:快速导入三方库

六. pods 失败

  • 失败提示

error: RPC failed; curl 16 Error in the HTTP2 framing layer
fatal: error reading section header 'shallow-info'

解决方法:

git config --global --unset https.proxy
git config --global --unset http.proxy 
  • 失败提示:

LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

解决办法:
git config --global http.sslVerify false
或者
git config --global http.sslVerify true
亲测,有些库开启代理可以上传,有些库开启代理不行

  • pod install 失败的情况,还可以使用
    185.199.108.133 raw.githubusercontent.com
    首先使用命令sudo vim /etc/hosts,进入编辑界面,添加此命令
    CocoaPods 使用_第1张图片
    截屏2021-06-30 下午7.12.42.png

七. 删除整个cocopods

当我们使用pod init 给项目创建了一个pods库,突然有一天我们不想要pods库了,这个时候想要把整个pods库删除,还是有点麻烦。

  1. 先安装移除工具 cocoapods-deintegrate
sudo gem install cocoapods-deintegrate
  1. 移除掉,clean
pod clean

你可能感兴趣的:(CocoaPods 使用)