Pods or Carthage?
Carthage是新生事物,只支持iOS8以上,去中心化的思想很不错
Carthage只支持git源,有很多公司还是用svn的
Pods的占有率比较高,是目前的主流,形成了事实上的标准
公司当前还是用Object-C和CocoaPods的组合,所以本着学以致用的原则,优先考虑Pods。
Swift和Carthage的组合在文章中XCode中工程管理方案2已经做过探索
修改镜像
去除默认的镜像,被墙了,访问不到
$ gem sources --remove https://rubygems.org/
添加可用的镜像
$ gem sources -a https://gems.ruby-china.org
有些地方说淘宝的镜像也不能用了
https://gems.ruby-china.org
$ gem sources -l
这个只是查看一下是否修改成功
安装和卸载
sudo gem install cocoapods
就算已经装过,用这个命令也没关系,不会重装的,比较智能
如果要看一下是否安装成功了,可以用如下命令
gem list --local | grep cocoapods
如果要删除,那么就用卸载命令。cocoapods相关的模块都要写一遍,才算删干净
sudo gem uninstall cocoapods-core
- Podfile不需要用vi来编辑,可以直接用XCode或者Sublime等好用的编辑器来写。
卡顿现象
显示Setting up CocoaPods master repo不动了,像断网了一样。有可能是真的连不上,也有可能是真的很慢,正在下载中,但是没有进度信息输出,看起来像“卡住了”
用以下两条命令可以查看repo的大小,可以大致推断是真连不上,还是在下载过程中
cd ~/.cocoapods/repos
du -sh *
如果只有56k,说明还是空的。最后至少有100多M的样子吧,所以确实需要一点时间下载的。加上 --verbose 可以多输出一点信息,比如"pod setup --verbose"
https://github.com/CocoaPods/Specs可以用浏览器访问,但是终端却反馈无法访问。这个内容是有点多的,这次下载,有461M
打开蓝灯,或者VPN,并不能解决问题
重装整个Pods,也不起作用。
在install或者update的时候,不更新repo的Spec,可以减轻卡顿现象
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
- 把镜像源改为https://gems.ruby-china.org可能是一种方案吧。不确定是否有效。
遇到的一些问题
如果出现:
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj
可以试试这个命令sudo gem install -n /usr/local/bin cocoapods
最详细的CocoaPods安装教程错误提示:
[!] Unable to find a specification for xxx
先移除掉本地的master,在终端输入pod repo remove master
然后转到路径下,在终端输入cd ~/.cocoapods/repos
接着在终端输入命令:git clone --depth 1 https://github.com/CocoaPods/Specs.git master
,等待下载完毕
输入命令:rm ~/Library/Caches/CocoaPods/search_index.json
20161209pod search 'fmdb'提示[!] Unable to find a pod with name, author, summary, or description matching fmdb在使用CocoaPods中pod search命令搜索第三方框架后,显示框架信息并不会自动退出到可输入命令的状态,而需要按键盘Q键来退出信息显示的状态。