CocoaPods 使用

使用gem来安装cocopods

升级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
4.卸载cocopods

主要卸载命令sudo gem uninstall cocoapods
继续移除一些文件

  1. rm -rf ~/.cocoapods
  2. rm -rf ~/Library/Caches/CocoaPods
  3. rm -rf ~/Library/Preferences/cocoapods
  4. rm -rf ~/Library/Logs/CocoaPods
  5. sudo rm -rf /usr/local/bin/pod

使用'which pod'查询是否还有遗留的

二、安装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
<u>三:创建工程使用 cocoapods 时没有出现 xcworkspace 文件解决方法</u>

可以使用下面的解决方法

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,进入编辑界面,添加此命令
    截屏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

使用homeBrew安装 cocopods

  1. 安装Homebrew
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

建议使用以下地址:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
Homebrew安装教程

  1. 查看homebrew版本
    brew -v
注意
1、homebrew的命令是以brew开头
2、homebrew 的默认安装目录为 /usr/local
3、通过 brew 安装的程序都会默认安装到 /usr/local/Cellars/程序名/版本号/ 目录下

3.安装ruby
brew install ruby

4.查看ruby版本
ruby -v

  1. 查看当前Mac电脑的brew.git 当前源

cd "$(brew --repo)" && git remote -v

6.查看当前homebrew-core.git 当前源]
cd "$(brew --repo homebrew/core)" && git remote -v

7.将当前电脑homebrew镜像修改为阿里源
git -C "$(brew --repo)" remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git

  1. 修改 homebrew-core.git 为阿里源
    git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git

  2. zsh 替换 brew bintray 镜像(电脑终端是zsh的用这种)
    echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc

source ~/.zshrc

  1. ruby生效果
    1 echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
    2 source ~/.zshrc

11.安装cocopods
brew install cocoapods

7.卸载cocopods

brew uninstall cocoapods
//删除余孽
rm -rf ~/.cocoapods
rm -rf ~/Library/Caches/CocoaPods
rm -rf ~/Library/Preferences/cocoapods
rm -rf ~/Library/Logs/CocoaPods
  1. 更新cocopods
    brew upgrade cocoapods

9.卸载ruby
brew uninstall ruby

10.卸载 vim
rvm implode
完全卸载,再加命令rm -rf ~/.rvm

换源

查看当前源:
pod repo

wangxiao@localhost ~ % pod repo
trunk

换源命令步骤:

  1. cd ~/.cocoapods/repos
  2. pod repo remove master
  3. git clone [https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git](https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git) master
  4. git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master //上面那种不行,就用这个

更新源:
pod repo update

八:cocoapods报错

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

推荐阅读更多精彩内容