美文网首页iOS开发
CocoaPods 更新库

CocoaPods 更新库

作者: koin447 | 来源:发表于2019-03-13 13:41 被阅读0次

    我们在团队开发时,经常需要更新 CocoaPods,有时候会遇到更新不到最新版本第三方库的问题。

    更新第三方库的常用的命令

    首先回顾几个更新第三方库的常用的命令

    更新所有库最简单基本的方法:

    pod update
    

    更新本地仓库:

    pod repo update
    

    简单来说,这条命名是用来更新本地 CocoaPods 的 spec 资源配置信息。安装完 CocoaPods 后,在用户根目录下有个隐藏文件夹~/.cocoapods,里面是 CocoaPods 收录的所有库的配置信息。pod repo update实际是更新整个.cocoapods下的所有库,其实我们也可以只更新其中某个库来达到快速可用的目的。

     pod repo update ~/.cocoapods/repos/master/Specs/
    

    更新指定第三方库最简单基本的方法:

    pod update 库名
    

    把Podfile内全部的库更新重新安装:

    pod install 
    

    只更新新添加的库,已更新的库忽略:

    pod install --verbose --no-repo-update
    

    只更新指定的库,其它库忽略:

    pod update 库名 --verbose --no-repo-update
    

    参数解释

    参数 –verbose 和 –silent

    这两个参数是用来控制 pod 命令的,有些人不希望看到输出的情况下可以选择 --silent,--verbose 的意思则是输出详细日志信息。
    加 --verbose 的意义在于可以输出更详细的配置过程 debug 信息,在书写时位置也可以换。

    参数 --no-repo-update:

    在我们输入pod install或者pod update之后,CocoaPods 首先会去匹配本地的 spec 库,在确认 spec 版本库不需要更新之后,才会下载相应的库文件,这样比较耗时。所以一般使用时会加上 --no-repo-update,跳过 spec 版本库更新匹配。
    但是这样会有个问题,如果 github 上 pods 的三方库有新版本了,你本地搜索到的还是旧版本,如果用的新版本号是无法装配的,所以每隔一段时间最好执行一下pod repo update
    另外首次 install 不应该添加这个标志,后续修改 Podfile 的时候可以适当使用,加快 pod 速度。

    遇到的更新场景

    情况一:

    Cocoapods 本地 Pod 的索引文件没有更新,所以本地库还是旧版本,自然怎么都无法更新到最新版。

    解决方法

    1. 打开终端,查看一下 Cocoapods 的版本号:pod --version
      如果不是最新版本,升级一下 Cocoapods 版本:sudo gem install -n /usr/local/bin cocoapods --pre
    2. 但是有时候 Cocoapods 升到最新版本后,cd 到工程文件下pod install,发现还是没有更新最新的库。这时候需要更新本地 Pod 的索引文件:pod setuppod repo update
    3. 此时再pod installpod update,应该就是最新的了。

    情况二:

    因为公司搭建了自己的 GitLab 库,经常发现pod update下来的还是旧代码。
    这是由于 Pod 缓存造成的,虽然本地和远程 Git 仓库都是最新版本,但是本地 Pod 缓存中,依旧有旧版的缓存,执行pod update时,会先从本地缓存读取数据。

    解决方法

    1. cd 到 ~/资源库/Caches/CocoaPods/Pods/Release/库名
    2. 删除库名下的文件,如~/资源库/Caches/CocoaPods/Pods/Release/库名/1.0.0-fbd65
    3. pod cache clean 库名
    4. cd 到项目中,删除 Pods/库名,删除 Podfile.lock,再pod update,代码更新成功。

    相关文章

      网友评论

        本文标题:CocoaPods 更新库

        本文链接:https://www.haomeiwen.com/subject/hhizpqtx.html