CocoaPods是iOS项目的依赖管理工具,让开发者可以快速集成第三方开源库和添加依赖库。随着Ruby、Gem、Mac OSX、Xcode和CocoaPods的更新,CocoaPods的安装方法也随着变化,当然也会产生各种这样的问题。
工具/原料
Mac OSX操作系统:OS X 10.11.5
编译环境:Xcode 7.3.1
Mac自带终端
搭建CocoaPods环境
1、打开Mac自带“终端” 在Launchpad找到“其他”软件文件夹,找到终端打开。
2、替换Ruby的默认源,移除rubygems.org和淘宝的,改为ruby-china源 gemsources--removehttps://rubygems.org/ gem sources --remove https://ruby.taobao.org gem source -a https://gems.ruby-china.com
3、验证是否成功替换Ruby的默认源 gemsources-l最后只保留: https://gems.ruby-china.com
4、更新Mac 的Gem,Gem是管理Ruby库和程序的标准包 sudogemupdate--system或者(Mac OSX 10.11之后) sudo gem update -n /usr/local/bin —system然后输入管理员权限密码(看不到输入结果的,输完密码之后直接回车)
5、完成安装CocoaPods sudogeminstallcocoapods 或者(Mac OSX 10.11之后) sudo gem install -n /usr/local/bin cocoapods
为iOS项目添加CocoaPods管理库
1、查找自己需要添加的第三方库 pod search + 库名如输入:pod searchAFNetworking 后,等待返回所有符合搜索条件的结果。可以直接利用的是:pod 'AFNetworking', '~> 3.1.0'
2、找到项目文件路径 在终端输入cd+空格,然后拖动项目文件夹到终端,自动生成路径。
3、创建并编辑Podfile文件(可以终端操作,也可以直接手动操作) 终端输入:vim podfile或者 pod init(推荐傧韭茆鳟)编辑文件,没有文件就自动在当前目录添加一个文件再编辑。输入内容: platform :ios, '8.0' target “target名称” do pod 'AFNetworking', '~> 3.1.0' end按Esc退出编辑,然后按Shift +冒号,输入wq退出文件编辑。
4、为项目导入第三方库和相关依赖库 终端输入:pod install然后耐心等待下载第三方库,如果文件大,可能要花长时间。终端会打印进度的。
5、至此,添加已经完成。可以看到项目目录里面多了4个文件,以后运行工程都使用.xcworkspace文件,而不再用.xcodeproj了。
移除CocoaPods
1、编辑Podfile文件,清除里面所有库,然后终端输入:pod install。这时会清空第三方库和相关依赖库。
2、删除之前的4个文件,Podfile、Podfile.lock、Pods文件夹和.xcworkspace文件。
3、然后打开.xcodeproj,删除项目中的libpods.a和Pods.xcconfig引用。
4、TARGETS - Build Phases 删除有关pods的选项,至此完成删除。
常见问题
1、Error fetching http://ruby.taobao.org/: bad response Not Found 404 烫喇霰嘴(http://ruby.taobao.org/specs.4.8.gz)说明: 链接不到Ruby淘宝源,常见的404错误,可能因为https替换http了。所以gemsources-ahttp://ruby.taobao.org/ 需要替换成:gemsources-ahttps://ruby.taobao.org/
2、ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/update_rubygems说明: Mac OSX 10.11不能使用sudogemupdate—system了,需要替换成:sudo gemupdate-n /usr/local/bin—system
3、ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod说明: Mac OSX 10.11不能使用sudogeminstallcocoapods了,需要替换成:sudo gem install -n /usr/local/bin cocoapods
4、[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`. Y泠贾高框ou can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.说明: 由于安装了多个Xcode导致路径变了,需要变换路径:sudo xcode-select -switch /Applications/Xcode6.4/Xcode.app
5、The dependency `` is not used in any concrete target说明: Podfile升级之后到1.0.0版本,Pod里的内容必须明确指出所用第三方库的target,所以在podfile文件需要明确: target “YOUR_TARGRT_NAME” do ... end
6、Error installing cocoapods:activesupport requires Ruby version >= 2.2.2.说明: 在安装cocoapods过程中提示需要Ruby的版本在2.2.2以上。 查看当前Ruby版本,输入指令:ruby -v解决方法: 通过rvm安装新版Ruby,输入指令:curl -L get.rvm.io | bash -s stable 重装rvm,输入指令:rvm reload 然后安装Ruby,输入指令:rvm install ruby 如果出现:Requirements installation failed with status: 1.则需要输入: 第一行:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 第二行:rvm autolibs read-only # read more here:https://rvm.io/rvm/autolibs 第三行,再次安装:rvm install ruby然后终端就疯狂的开始下载了。
7、[!] Unable to find a pod with name, author, 衡痕贤伎summary, or description 罪焐芡拂matching `xxx`说明: 搜索库:pod search xxx报错; 是search_index.json这个文件的原因,可以将其删除,然后重新生成便可解决此问题。解决方法: 输入指令:rm ~/Library/Caches/CocoaPods/search_index.json 完成即可重新搜索。