2020更新后的最新cocoapods安装
方法一:
第一步:安装RVM
rvm可以让你安装多个ruby,并且进行多个版本之间随意切换
% curl -L get.rvm.io | bash -s stable 但是目前直接使用如果不能科学上网的话(会报错curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused或者curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443 )
因此在网上找到大佬的执行方法 一句命令解决国内镜像问题: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
按照提示执行clone就可以,亲测可以使用;
然后再使用
% curl -L get.rvm.io | bash -s stable
% source ~/.bashrc
% source ~/.bash_profile
//检查RVM是否安装成功
等待终端加载完毕后输rvm -v查看,如显示
rvm 1.29.10 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
表示安装成功,我们进下一步
第二步:升级Ruby
#查看当前ruby版本
% ruby -v
#列出已知的ruby版本
% rvm list known
#安装ruby 2.6.5(注:2019年以后的mac更新以后最好把ruby升级到2.4.0版本以上,新版电脑默认的都在2.6.0以后版本)
% rvm install 2.6.5 (如果默认大于2.4.0,可以不进行更新)
安装完成后,继续查看当前ruby版本
% ruby –v
若版本变为2.6.5则完成,若还是原来的版本,则执行以下命令设置默认的ruby版本
% rvm use2.6.5--default
执行完毕继续查看版本,则发下ruby版本变为2.6.5。表示ruby的升级完成,进行下一步;
第三步:安装cocoapods
首先,检查ruby源:
% gem sources –l
默认情况下,返回的信息:
*** CURRENT SOURCES ***
https://rubygems.org/
当然这个源在墙内是访问不到的。因此我们需要寻找一个可以在国内访问到的镜像。目前笔者找到的是http://rubygems-china.oss.aliyuncs.com和https://ruby.taobao.org/这个阿里云的镜像,当然随着时间的推移,taobao Gems 已停止维护,现在有ruby-china提供镜像服务,如果安装了则删除,现在就要开始修改ruby源了;
首先执行以下命令来删除原始的ruby源
% gem sources --remove https://rubygems.org/
执行完成后可以在终端显示以下信息:
https://rubygems.org/ removed from sources
然后添加目前国内比较好用的淘宝镜像源:
% gem sources-a https://gems.ruby-china.com
完成以继续查看当前的镜像源
% gem sources –l
只有在终端中出现下面文字才表明你上面的命令是成功的:
***CURRENT SOURCES ***
https://gems.ruby-china.com
淘宝源替换完成, 接下来我们进行设置gem的版本
更新升级Gem版本
Gem是管理Ruby库和程序的标准包,如果它的版本过低也可能导致安装失败,解决方案升级Gem。
如果gem太老,可以尝试用如下命令升级gem:
在终端输入以下命令:
% sudo gem update --system
或者mac OS 10.11之后
% sudo gem update -n /usr/local/bin —system
完成以后我们进行cocoapods的下载安装,此处有两种方法可以提供选择:
// 如果之前有cocoapods则
% sudo gem uninstall cocoapods(移除原来的cocoapods)
然后进行安装,方法①:
若Mac系统:(OS X 10.11以前)及之前执行:
% sudo gem install cocoapods
若Mac系统:安装CocoaPods(10.11后苹果升级了安全策略)及之后则执行
% sudo gem install-n/usr/local/bin cocoapods
当出现32 gems installed,则cocoapods更新完毕
(注:若安装多个版本的Xcode则要选择对应的正确的路径)
% sudo xcode-select-switch/Applications/Xcode.app/Contents/Developer (一般选择的就是你最近安装使用的Xcode版本)
接下来就是进行安装本地库
% pod setup
很快就出现 Setup completed, 表示本地库安装完成
网上找了很多说要各种clone各种操作,最后还是一对问题,而此时我们不要搞那么多花里胡哨的东西,直接Xcode新建一个项目,此处我就以TestCocoapods测试项目为例:
首先我们cd 进项目
% cd /Users/用户名/Desktop/TestCocoapods
% touch podfile
% open podfile 正常来说我们最好设置打开podfile的方式用Xcode方式
重点来了,复制下面到podfile里面
# Uncomment the next line to define a global platform for your project
platform :ios, '11.0'
source 'https://github.com/CocoaPods/Specs.git'
target 'TestCocoapods' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
use_frameworks!
pod 'AFNetworking', '~> 3.0'
pod 'MJRefresh'
pod 'SDWebImage', '~> 4.0'
end
然后就直接开始
% pod install --verbose --no-repo-update 接下来就是漫长的等待过程
(注:由于cocoapods的版本更新和升级。Cocoapods的大小由原来的300M变为现在的800M,因此这个安装过程会很耗时间,同意需要好的网络环境去安装,不然很容易报curl56这个错误,本人在教育网的环境下下载安装将近一个半个小时或者使用手机4G网络去下载一个小时左右)
安装过程中我们可以按command+N新建一个终端页面进行查看下载进度
在新建的终端输入 :% cd ~/.cocoapods
然后输入% du –sh
查看下载进度。若长时间下载数据不改变或者安装失败,我们先检查网络环境是否良好。然后重新执行下面命令
$ pod repos remove cocopods
$ pod install --verbose --no-repo-update
然后等待下载安装完成。
重点提示,后面的方法可以进行选择性使用
方法②:
首先是
$ sudo gem install -n /usr/local/bincocoapods
然后在桌面新建一个项目
在终端CD #项目的路径
$ touch podfile
$open podfile
然后在podfile里面添加加需要更新的库,下面以AFN为例
#在打开的podfile里面输入pod ‘AFNetworking’
然后关闭podfile,在终端继续输入一下命令
$pod install --verbose --no-repo-update
然后等到安装完成以后再次更新其他的第三方库就可以使用下面的命令进行;
$pod update --verbose --no-repo-update
接下来就是等待安装完成。
注:方法①安装完成以后pod第三方库会报错
方法二:
克隆法,首先在ruby环境和源配置好的情况下进行克隆安装。(注:rub环境和源的配置参考方法一进行)
接下来我们打开终端首先通过终端cd到~/.cocoapods/repos下
然后输入命令
$ git clone‘https://github.com/CocoaPods/Specs.git’master
然后就是漫长的等待过程了。文件会根据网络环境的状况加载。
方法三:离线安装方法
首先:直接登录下载的Git地址,直接下载一个包下来
https://coding.net/u/hging/p/Specs/git
直接下载zip包,并解压,我们要用的就是Specs文件夹,里面放着很多很多第三方依赖的配置文件(.json文件)
新建一个项目,CD到项目文件,然后pod install,这时候会发现卡死在git获取这个界面,此时不要取消,在命令行cd ~/cocoapods/repos/进入到这个目录下,就会发现这里多了一个目录。
这个目录就是离线安装目录了,接下来你只要把第一步的Specs文件夹拷贝进来
注:当你取消pod install命令,会删掉文件夹
接下来就是:
再次运行项目的最好用下面这个命令
$pod install--verbose--no-repo-updatel,好了,基本上不成问题了,就会自动导入第三包包了.
遇到问题的解决:
The dependency `AFNetworking (~> 3.0)`
is not used in any concrete target.错误的解决方法
解决方式一:为将Podfile内填写格式改为如下:(TestThirdParty改为自己项目名)
platform:ios, '8.0'//支持的最低版本
target'test' do//test是自己的项目名称
pod'AFNetworking', '~> 2.6'
//可以连续pod多个第三方
//
pod 'B','版本'...
end
解决方式二:打开Xcode,
选择target(就是你左边工程target(工程名 一般为深蓝色那))———BuildSettings————search Paths下的User Header SearchPaths
然后双击后面的空白区域 输入:“$(PODS_ROOT)”并且选择recursive点回车就结束了 我们在工程中使用这些三方库的时候就有提示了(有的时候我们的xcodel可能反应不及时,重启一下试试)这步的步骤