CocoaPods是ruby实现的,需要用ruby进行安装,mac自带ruby,如果没有ruby的需要先安装ruby。
安装CocoaPods命令
安装CocoaPods命令:sudo gem install cocoapods
gem默认是从https://rubygems.org/的源进行下载的,下载较慢,可以切换到国内的源进行下载,下面是切换的方式:
gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
切换完成后,通过【gem sources -l】查看所有的源
查看安装的CocoaPods的版本
pod --version
使用CocoaPods
进入xcode的工程目录,新建一个Podfile文件(每个工程都有一个Podfile)
使用的别人已经建好的工程,所以不需要自己去建立Podfile了
在Podfile的同级目录下输入以下命令,进行依赖包更新
pod setup
pod setup更新本地电脑上Pods依赖库的tree,有新的Pods依赖库时可以pod search出来
pod update
pod update会通过Podfile去获取允许获取的最新版本的依赖库进行安装,并且会生成一个Podfile.lock文件
pod install
pod install如果有Podfile.lock文件,且Podfile未更新,会从Podfile.lock获取依赖库信息进行安装。如果没有Podfile.lock则会根据Podfile进行安装
备注:
在使用pod update和pod install时非常慢,通过这篇博客解决了慢的问题
(最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update)
安装中遇到的问题:
问题一:
在安装过程中提示“activesupport requires Ruby version >= 2.2.2.”,所以需要先升级ruby然后再去进行安装
(通过【ruby -v】可以查看ruby版本)
第一步:安装rvm
先安装rvm:rvm可以让我们拥有多个ruby,并在多个版本之间自由切换,mac自带的版本太低,我们可以装一个高版本的并存
curl -L get.rvm.io |bash -s stable
source ~/.rvm/scripts/rvm
rvm -v
第二步:通过rvm安装高版本ruby并切换默认版本
rvm list known //列出ruby所有可安装的版本
然后选择一个可安装的版本进行安装
rvm install 2.2.4
安装成功后查看ruby版本,ruby -v。已经是最新的版本了
rvm use 2.2.4 —default //这个是切换ruby的默认版本为2.2.4,搜索到资料上是这么写的,但是在使用这个命令之前ruby版本也是2.2.4.如果要切换回低版本再用吧
(ruby版本低问题解决,直接重新使用sudo gem install cocoapods安装即可)
安装过程中我没有遇到gem版本过低问题,如果提示gem版本过低,sudo gem update —system来解决(system前两个-)
问题二:
podfile中的下载地址是从自己建的git上下载,一直下载不下来
解决方法:
需要申请对应git仓库的权限,将本机生成的ssh公钥配置到git的密钥管理里
问题三:
pod update和pod install的时候提示The dependesy ‘xxx’is not used in any concrete target.
网上搜到的方法是在Podfile中增加target xxx to 最后加end(但是我有多个target。填上后还是各种报错)
最后咨询了开发,说是因为我的pod版本太高了,需要降级,如果不降级可以通过修改Podfile文件实现,但是就算pod下来了打包时也会失败
解决方案:
对cocoapods进行降级