CocoaPods是我们在IOS开发中必不可少的管理第三方框架的工具。CocoaPods的安装时步骤比较简单,但是在安装的过程中以及使用中总是遇到很多蛋疼的问题,这里纪录我安装过程中遇到的很多问题以及处理方式。
现在的CocoaPods版本是1.0.1,需要Ruby的版本2.3,Ruby是OSX自带的。
1.查看Ruby的版本
$ ruby -v
控制台显示信息
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
如果你的Ruby的版本在2.3版本以上,则跳过Ruby升级,直接安装CocoaPods
2.升级Ruby
2.1安装 RVM ------RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)
$ curl -L get.rvm.io | bash -s stable
等待一段时间后执行
$ source ~/.bashrc
$ source ~/.bash_profile
检查是否安装成功
$ rvm -v
显示一下结果,则安装成功了
rvm 1.27.0 (latest) by Wayne E. Seguin, Michal Papis[https://rvm.io/]
2.2使用RVM升级Ruby
列出已知的Ruby版本
$ rvm list known
安装Ruby2.3 ---[ruby-]2.3[.0]
$ rvm install 2.3
检查是否安装成功
$ ruby -v
3.安装Cocoapods
3.1 remove现有的ruby默认源, 因为这个网址https://rubygems.org/国内不能访问
$gem sources --remove https://rubygems.org/
3.2 使用taobao的源可以去访问
$gem sources -a https://ruby.taobao.org/
3.3 验证新源是否替换成功
$gem sources -l
出现下面的信息,则添加成功了
*** CURRENT SOURCES ***
https://ruby.taobao.org
如果没有添加成功,则尝试下面指令添加 (这个问题遇到了,并且是这样解决的)
$ sudo gem sources -a https://ruby.taobao.org/
3.4 安装CocoaPods
$ sudo gem install cocoapods
如果出现下面错误
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
则使用下面的方式安装
$ sudo gem install -n /usr/local/bin cocoapods
又是后gem指令版本低也会造成安装的不成功
更新gem的指令
$ sudo gem update --system
3.5更新资源库(等待的很长的一段时间)
$ pod setup
在执行这一步骤的时候,如果网路不太好的,可以直接拷贝其他人安装好的资源库。拷贝路径/Users/zyn/.cocoapods/repos下的master文件夹到你的这个路径下的文件夹下面即可。
3.6 测试一下是否安装成功了
$ pod search AFNetworking
4.使用cocoaPods集成第三方框架到项目中
4.1先创建一个项目CocoaPodsTest
然后在在控制台cd到项目的文件夹下
$ cd /Users/zyn/Desktop/CocoaPodsTest
在控制台输入命令
$ pod init
这个时候会生成Profile文件,如下截图
使用xcode打开Profile文件,并且修改文件内的信息如下
platform :ios, '8.0'
target 'CocoaPodsTest' do
pod 'AFNetworking'
end
保存,然后在控制台输入命令
$pod install
等一点时间后,就可以了,会生成工作空间文件,打开工作空间.xcworkspace文件就好了。
5.遇到的问题
5.1 安装完成后会出现在搜索第三方库的时候,搜索到的资源不全的问题,却少一些资源库。遇到这种问题的第一个解决方案就是升级资源库
$ pod setup
如果还是不能解决问题,则尝试下面的方式(我的是这样解决的)
rm ~/Library/Caches/CocoaPods/search_index.json
5.2 出现“cannot load such file – cocoapods-core (LoadError)”或者怎么安装都显示“-bash: pod: command not found”
解决办法:卸载重装
$ sudo gem uninstall cocoapods
6.0在swift项目中
6.1出现下列问题,则需要在Profile文件中添加上use_frameworks!
[!] Pods written in Swift can only be integrated as frameworks; add `use_frameworks!` to your Podfile or target to opt into using it. The Swift Pods being used are: Alamofire, Kingfisher, and SnapKit