CocoaPods安装和使用
一、前期准备工作
1.Ruby的默认源使用的是cocoapods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将远替换成淘宝的,替换方式如下:$ gem sources --remove https://rubygems.org/
- //等有反应之后再敲入以下命令
- $ gem sources --add https://ruby.taobao.org/
要想验证是否替换成功了,可以执行:
$ gem sources -l
正常的输出是:
*** CURRENT SOURCES ***
-
https://ruby.taobao.org/
2.gem是管理Ruby库和程序的标准包,如果它的版本过低也可能导致安装失败,解决方案自然是升级gem,执行下述命令即可:
$ sudo gem update --system
二、安装
执行以下命令:
$ sudo gem install cocoapods
如果在OS X 10.11上安装cocoapods时出现错误:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/fuzzy_match
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
则使用:
$ sudo gem install -n /usr/local/bin cocoapods
$ pod setup
如果执行pod setup命令时报错:
- /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': Could not find 'cocoapods' (>= 0) among 6 total gem(s) (Gem::LoadError)
- from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec'
- from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in `gem'
- from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:in `<main>'
这就是路径设置的问题,可以通过执行:$ rvm use ruby-1.9.3-p448解决。
升级CocoaPods再次执行安装命令即可:
$ sudo gem install cocoapods (如果不行可用sudo gem install -n /usr/local/bin cocoapods 试试)
三、使用
首先进入到工程的根目录下,创建空白的Podfile文件,编辑Podfile,根据需要,我们可以在Podfile文件中写入需要用到的第三方库,以SBJson、AFNetworking、Reachability三个库为例
- platform :ios
- pod 'Reachability', '~> 3.0.0'
- pod 'SBJson', '~> 4.0.0'
- platform :ios, '7.0'
- pod 'AFNetworking', '~> 2.0'
你如果不知道cocoaPods管理的库中,是否有你想要的库,那么你
可以通过pod search命令进行查找,若执行出现
JSON::ParserError - 757错误,将~/Library/Caches/CocoaPods/search_index.json缓存索引文件删除
准备工作都完成后,开始导入第三方库
- $ cd /Users/wangzz/Desktop/CocoaPodsTest
- $ pod install
最近可能由于出国节点的问题,无论是执行pod install还是pod update都卡在Analyzing dependencies不动了,慢到无以复加的地步,无法忍受。
其实原因在于以上两个命令执行时会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
或者
pod update --verbose --no-repo-update
好容易安装好了,然后执行pod install的时候出现
`report': incompatible character encodings:UTF-8 and ASCII-8BIT (Encoding::CompatibilityError)
这是编码的问题,有两种原因,1.你的设备确实不支持utf8,2.你本身录入文本有问题
1的解决办法
查看编码
$ locale
执行命令后出现
LANG="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_CTYPE="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_ALL=
发现都是zh,强制设置一下
$ exportLC_ALL=en_US.UTF-8
$ export LANG=en_US.UTF-8
再检查一下
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
。好像好了,继续pod install吧
[!] Invalid `Podfile`file: incompatible character encodings: UTF-8 and ASCII-8BIT. UpdatingCocoaPods might fix the issue.
问题依然
把所有可能的配置都试一遍
gem install rails
然后
gem install rdoc
然后
gem install nokogiri--no-ri --no-rdoc
这些都设置完一般不会出现问题了,再有问题,可能是文本录入的问题
2的解决办法,如果你是手动输入的这个需要注意,copy别人的也要检查一下打开键盘偏好设置
设置单引号格式,当然冒号我还没找到怎么设置,一般错误会提示给你哪写错了
这里不再提示utf8的错误了
|