美文网首页
Cocoapods 最新 集成总结

Cocoapods 最新 集成总结

作者: Mr_Lxh | 来源:发表于2020-01-16 09:14 被阅读0次

    背景:Mac OS Catalina 10.15.1 Xcode11.2.1

    Cocoapods 版本:1.8.4

    暴露问题:

        1、pod install 命令出现问题  
    
        2、trunk 分支问题 
    
        3、cocoapods 源不稳定问题 
    

    解决:问题太多 决定卸载重装 记录流程。

    卸载:

    1、卸载cocoapods

    问题1:在cocoapod 执行卸载 语句

    sudo gem uninstall cocoapods 
    

    的时候 While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.
    改为:

    sudo gem uninstall -n /usr/local/bin cocoapods
    

    2、卸载本地cocoapods相关的插件
    执行:

    gem list --local | grep cocoapods
    

    查询相关插件 如下图所示:


    001.png

    逐个删除相关插件:

    sudo gem uninstall cocoapds-core
    sudo gem uninstall cocoapods-deintegrate
    sudo gem uninstall cocoapods-downloader
    sudo gem uninstall cocoapods-plugins
    sudo gem uninstall cocoapods-search
    sudo gem uninstall cocoapods-stats
    sudo gem uninstall cocoapods-trunk
    sudo gem uninstall cocoapods-try
    ...
    

    3、查看gem 更新ruby源地址

    这里官方简易尽可能的使用比较新的RubyGems版本,建议2.6.x以上

    //更新gem 
    gem update --system # 这里请翻墙一下
    
    //查询gem 版本 
    gem -v
    

    查看ruby源

    gem sources -l
    

    查询结果如下:

    002.png

    因为我电脑本身就是最新的ruby源就不重新装了 不是上图中的源 需要移除老的ruby源 更新成这个
    语句如下:

    //移除ruby源  XXXXXX代表你查出来的源地址
    gem sources --remove XXXXXX
    
    //添加新ruby源
    gem sources --add https://gems.ruby-china.com
    
    //查询是否更新成功 
    gem sources -l
    
    //确保只有 gems.ruby-china.com
    

    4、安装Cocoapods

    sudo gem install -n /usr/local/bin cocoapods
    

    安装成功如下图所示:


    003.png

    5、执行pod setup

    这步因为pod setup 克隆的镜像源 是国外的 so...换了个方式 用了国内的镜像 。(如果不换 pod setup 大概率不成功,或下一天可能,浪费时间,本人找了一天的替代源。)这里感谢下 CSDN的大佬的一篇文章,附上文章链接Pod setup 太慢终极解决办法

    当我们去执行pod setup的时候,会发现那是一个相当的慢。估计一天的时间都浪费再这上面。这是因为使用的国外的镜像,只要使用国内的镜像就很好的解决了。

    //查找repo 移除master文件
    cd ~/.cocoapods/repos
    pod repo remove master
    //使用大佬给的国内镜像源
    git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
    

    你会发现,那速度,老铁 6666...

    这部分执行完后 就是cocoapods的使用了 不多做赘述 都比较熟悉了 我就简单的写下流程:

    //cd 到项目路径下 
    cd xxxxxx
    //初始化pod
    pod init
    //编辑podfile
    open Podfile
    //编辑完成 
    pod install
    

    这里有个问题:
    Cocoapods升级到v1.8后pod trunk发生异常
    trunk Repo update failed


    004.png

    我新建立了个项目,集成了一个测试的demo, pod里只加了一个三方库 集成成功了。但是在自己的项目上出现了这个问题 。原因是自己项目里集成的第三方太多
    解决方案 并不是网上说的把什么trunk删除 podfile上改source 而是链接不稳定的问题 遇到这种情况

    需要把Podfile上的第三方库 需要一个一个的加三方库 然后一个一个的pod install 多试几次!!! 直到 pod install成功为止!

    2020-05-13 更新:

    最近打算把公司项目转成纯swift的 ,新建了个swift 的项目,cocoapods又出问题了 还是 报trunk Repo update failed问题 在podfile 加了个source :

    source 'https://gitee.com/mirrors/CocoaPods-Specs.git'
    
    

    完美解决。

    问题二:pod install出现警告。

    [!] The 168LogisticsSwiftTests [Debug] target overrides the ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES build setting defined in Pods/Target Support Files/Pods-168LogisticsSwift-168LogisticsSwiftTests/Pods-168LogisticsSwift-168LogisticsSwiftTests.debug.xcconfig'. This can lead to problems with the CocoaPods installation - Use the$(inherited)` flag, or
    - Remove the build settings from the target.

    网上给出的解决方法:

    image.png

    实际操作一遍 还是会出现警告

    所以,先从这些警告入手, 进入工程项目文件夹 ->右键点击 .xcodeproj 文件 显示包内容 -> 打开 .pbxproj 文件 -> 文本搜索提示警告的内容 ’ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES’ -> 找到这些内容删除
    然后输入 pod update 进行更新

    解决了。具体为什么要删除这个配置 我百度了一下 没有找到能解释的文章 暂时先照着说的改一下 留待以后追究。

    相关文章

      网友评论

          本文标题:Cocoapods 最新 集成总结

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