• 安装和使用iOS的包管理工具CocoaPods


    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时非常慢,通过这篇http://blog.csdn.net/ralbatr/article/details/39082937博客解决了慢的问题
    (最近使用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进行降级
     
    具体方法参考下面的文章:
  • 相关阅读:
    微软职位内部推荐-Senior Software Engineer
    微软职位内部推荐-Senior Software Engineer
    微软职位内部推荐-Software Development Engineer
    微软职位内部推荐-Senior Dev Lead
    微软职位内部推荐-Software Engineer II_HPC
    微软职位内部推荐-Senior Software Engineer
    微软职位内部推荐-Senior SW Engineer for Application Ecosystem
    微软职位内部推荐-Senior Software Engineer-Eco
    微软职位内部推荐-Software Development Engineer II
    微软职位内部推荐-Senior Software Lead-Index Gen
  • 原文地址:https://www.cnblogs.com/meitian/p/5784545.html
Copyright © 2020-2023  润新知