iOS开发 CocoaPods安装、移除和常见问题
的有关信息介绍如下:CocoaPods是iOS项目的依赖管理工具,让开发者可以快速集成第三方开源库和添加依赖库。随着Ruby、Gem、Mac OSX、Xcode和CocoaPods的更新,CocoaPods的安装方法也随着变化,当然也会产生各种这样的问题。
打开Mac自带“终端”
在Launchpad找到“其他”软件文件夹,找到终端打开。
替换Ruby的默认源,移除rubygems.org和淘宝的,改为ruby-china源
gemsources--removehttps://rubygems.org/
gem sources --remove https://ruby.taobao.org
gem source -a https://gems.ruby-china.com
验扯侮证是否成功替换Ruby的默认源
gemsources-l
最后只保留:
https://gems.ruby-china.com
更新Mac 的Gem,Gem是管理Ruby库和程序的标准包
sudogemupdate--system
或者(Mac OSX 10.11之后秤川鉴)
sudo gem update -n /usr/local/bin —system
然后输入管理员权限密码(看不到输入结果的,输完密码之后直接回车)
完成安装CocoaPods
sudogeminstallcocoapods
或者(Mac OSX 10.11之后菌茄)
sudo gem install -n /usr/local/bin cocoapods
查找自己需要添加的第三方库
pod search + 库名
如输入:pod searchAFNetworking 后,等待返回所有符合搜索条件的结果。可以直接利用的是:pod 'AFNetworking', '~> 3.1.0'
找到项目文件路径
在终端输入cd+空格,然后拖动项目文件夹到终端,自动生成路径。
创建并编辑Podfile文件(可以终端操作,也可以直接手动操作)
终端输入:vim podfile或者 pod init(推荐)
编辑文件,没有文件就自动在当前目录添加一个文件再编辑。输入内容:
platform :ios, '8.0'
target “target名称” do
pod 'AFNetworking', '~> 3.1.0'
end
按Esc退出编辑,然后按Shift +冒号,输入wq退出文件编辑。
为项目导入第三方库和相关依赖库
终端输入:pod install
然后耐心等待下载第三方库,如果文件大,可能要花长时间。终端会打印进度的。
至此,添加已经完成。可以看到项目目录里面多了4个文件,以后运行工程都使用.xcworkspace文件,而不再用.xcodeproj了。
编辑Podfile文件,清除里面所有库,然后终端输入:pod install。这时会清空第三方库和相关依赖库。
删除之前的4个文件,Podfile、Podfile.lock、Pods文件夹和.xcworkspace文件。
然后打开.xcodeproj,删除项目中的libpods.a和Pods.xcconfig引用。
TARGETS - Build Phases 删除有关pods的选项,至此完成删除。
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/
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
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
[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`. You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.
说明:
由于安装了多个Xcode导致路径变了,需要变换路径:sudo xcode-select -switch /Applications/Xcode6.4/Xcode.app
The dependency `` is not used in any concrete target
说明:
Podfile升级之后到1.0.0版本,Pod里的内容必须明确指出所用第三方库的target,所以在podfile文件需要明确:
target “YOUR_TARGRT_NAME” do
...
end
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
然后终端就疯狂的开始下载了。
[!] 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
完成即可重新搜索。