CocoaPods用来管理第三方框架
Mac 安装 Cocoapods
Podfile.lock 不一致的原因:
Podfile.lock和Manifest.lock:
* 项目中集成 cocoapods 的时候,运行 pod install 后,项目根目录中会生成Podfile.lock,而Pods目录中会有Manifest.lock。
* Xcode 编译项目的时候,会执行 Build Phases 中的[CP] Check Pods Manifest.lock 脚本,这个脚本会比对Podfile.lock和Manifest.lock,如果两个文件不相同就会报错。
导引如果你的 Mac OSX 升级到 10.11.x+, 并且需要安装 Cocoapods, 可以参考本博客.安装 rubyMac 系统自带了 ruby, 但是建议大家使用 Homebrew 安装 ruby.
因为 Cocoapods 升级需要对应的 ruby 版本也要升级, 使用 Homebrew 比较方便.
安装 ruby: brew install ruby
查看当前安装的 ruby 版本: ruby -v
会得到类似下面的信息:ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
gem 是管理 Ruby 库和程序的标准包.
安装了 ruby, 自带了 gem 工具.
可以使用 gem -v 查看 gem 版本.
安装 Cocoapods
1.移除原来的源, 不管以前是否安装过 Cocoapods.
gem sources --remove https://ruby.taobao.org/
2.重新添加源, 注意是 https.
gem sources -ahttps://gems.ruby-china.org/ .org不再使用了,可点击验证
gem sources --addhttps://gems.ruby-china.com/
之前 taobao 的源 好像已经不行了.
3.查看是否添加成功, 该步骤可选.
gem sources -l
安装, 使用 root 权限安装.
sudo gem install -n /usr/local/bin cocoapods
这种安装方式, 会安装最新的 release 版本.
你也可以使用下面两种方式来安装.
指定版本安装
sudo gem install -n /usr/local/bin cocoapods -v 1.0.0
安装最新的 release beta 版本
sudo gem install -n /usr/local/bin cocoapods --pre
切换源
pod repo add master https://gitee.com/mirrors/CocoaPods-Specs.git
pod repo add master https://github.com/CocoaPods/Specs.git
卸载 Cocoapods
卸载 Cocoapods 只需执行:
sudo gem uninstall cocoapods
sudo gem uninstall -n /usr/local/bin cocoapods cocoapods-core cocoapods-deintegrate cocoapods-downloader cocoapods-plugins cocoapods-search cocoapods-stats cocoapods-trunk cocoapods-try
如果想删除本地的 pod repo, 可以这样:
rm -fr ~/.cocoapods/
建立本地 repo
安装完 Cocoapods 后, 需要建立本地的 repo.
pod setup
如果文件夹中没有master文件夹
执行下面命令
pod repo add master https://github.com/CocoaPods/Specs.git
即使你现在不执行 pod setup, 后面进行 pod install 或者 pod update 的时候, 也会自动的进行 pod setup.
执行 pod setup 的目的是将所有第三方的 podspec 索引文件更新到本地的 ~/.cocoapods/repos 目录中.
安装使用中遇到的问题
问题1: 命令行执行 pod 发生: pod command not found, 但是 sudo pod 却可以执行.
解决方案即如下步骤
卸载原有的 Cocoapods
sudo gem uninstall cocoapods
重新安装 Cocoapods
sudo gem install -n /usr/local/bin cocoapods
赋予/usr/local/bin给予执行与读取权限
sudo chmod -R +rx /usr/local/bin/
建议最好设置代理.
问题2: 更新 gem 过程中, 遇到
Operation not permitted - /usr/bin/update_rubygems
可以通过通过 brew 安装 ruby 解决.
brew install ruby
问题3: pod setup 失败
解决方案: 更新 gem
sudo gem update --system
问题4: 添加源, 提示如下问题
sourcehttps://gems.ruby-china.com/already present in the cache
这个说明你已经添加过该源, 可以使用
gem sources -l
来查看已经添加的源.
常用操作
1. sudo gem update --system
更新 gem
2.pod repo update
更新本地仓库.
3.pod search xxx
搜索 cocoapods 项目.
4.pod list
列出所有可用的库.
5.pod install
根据 podfile 和 podfile.lock来安装库.
默认会执行 pod repo update.
可以加入参数 –no-repo-update 不执行 pod repo update.
6.pod update
更新已安装的库到最新版本, 并且创建新的 Podfile.lock 文件.
该命令也会默认会执行 pod repo update.
可以加入参数 –no-repo-update 不执行 pod repo update.
$ pod setup
和安装过程是一样的,再次查看 pod 版本:
$ pod --version