一、 CocoaPods简介
CocoaPods是一个用Ruby写的、负责管理iOS项目中第三方开源库的工具。它能让我们集中的、统一管理第三方开源库,为我们节省设置和更新第三方开源库的时间。重要的是绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。官网:https://cocoapods.org,发布的库在这里搜会有延迟。
二、更新cocoaPods镜像
- pod --version 查看当前安装版本
- gem source -l 查看当前使用的镜像源
注意:如果这里查看你的ruby是:https://ruby.taobao.org/。需要进行替换,淘宝已经停止更新了。
新的镜像地址为:https://gems.ruby-china.org/
- gem sources --remove https://ruby.taobao.org/ 移除现装的淘宝镜像
- gem sources -a https://gems.ruby-china.org/ 安装新镜像
- 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