美文网首页iOS随笔
CocoaPods相关干货

CocoaPods相关干货

作者: CoderXLL | 来源:发表于2017-12-23 15:07 被阅读8次

    一、 CocoaPods简介

    CocoaPods是一个用Ruby写的、负责管理iOS项目中第三方开源库的工具。它能让我们集中的、统一管理第三方开源库,为我们节省设置和更新第三方开源库的时间。重要的是绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。官网:https://cocoapods.org,发布的库在这里搜会有延迟。

    二、更新cocoaPods镜像

    1. pod --version 查看当前安装版本
    2. gem source -l 查看当前使用的镜像源
    注意:如果这里查看你的ruby是:https://ruby.taobao.org/。需要进行替换,淘宝已经停止更新了。
       新的镜像地址为:https://gems.ruby-china.org/
    
    1. gem sources --remove https://ruby.taobao.org/ 移除现装的淘宝镜像
    2. gem sources -a https://gems.ruby-china.org/ 安装新镜像
    3. sudo gem install cocoapods 开始安装cocoaPods
    注意:这一步可能会报错:Operation not permitted - /usr/bin/xcodeproj。
    解决办法:输入命令,sudo gem install -n /usr/local/bin cocoapods
    

    三、pod search搜索失败

    有时候自己制作了一个pod库,已经验证成功了。怀着激动的心情pod search了一把,结果发现报错:[!] Unable to find a pod with name, author, summary, or descriptionmatching '······',这有可能cocoapods搜索逻辑所造成的,解决方法如下

    • 执行pod repo update。然后进行pod search,如果仍然失败,再进行以下操作。
    • 执行pod setup。实际上在你安装cocoaPods的时候,会默认进行setup,但是由于某些不可抗力因素,到时setup没有成功。此时就需要手动进行setup。出现Setup Completed,说明setup执行成功。
    • 此时再进行pod search,如果还是失败,cocoaPods应该是解析此json文件进行了搜索。删除~/Library/Caches/CocoaPods目录下的search_index.json文件。rm ~/Library/Caches/CocoaPods/search_index.json

    四、升级cocoaPods版本

    发布更新自己的cocoapods库的时候,最后一步报错了。

    Updating spec repo `master`
    [!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
    

    这是因为Github在不久之前的2018年2月23号做了一些屌丝操作。需要我们更新mac系统下的OpenSSL。具体操作如下:

    $ which openssl
    $ openssl version
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    $ brew update
    $ brew install openssl
    $ brew upgrade openssl
    $ echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
    $ source ~/.bash_profile
    $ which openssl
    $ openssl version
    $ brew install rbenv ruby-build
    $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
    $ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
    $ source ~/.bash_profile
    $ rbenv install --list
    //这里要安装2.5.0的ruby,否则后面会报错
    $ rbenv install 2.5.0
    $ rbenv versions
    $ ruby --version
    $ rbenv global 2.5.0
    $ rbenv versions
    $ ruby --version
    $ gem install cocoapods -n /usr/local/bin
    $ which pod
    $ pod --version
    1.5.0
    

    相关文章

      网友评论

        本文标题:CocoaPods相关干货

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