CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。该项目开始于2011年8月12日,在这两年多的时间里,它持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得咱们能够节省设置和更新第三方开源库的时间,在iOS开发中常常会用到第三方库如AFNetworking,ASIHttpRequest等,在使用第三方库时,你除了要导数源码外,可是,集成这些依赖库须要咱们手动去配置,还有当这些第三方库发生了更新,还须要手动去更新项目。这就显得很是麻烦。有麻烦天然有解决办法,CocoaPods就是为了解决这个问题而生的。经过CocoaPods,咱们能够将第三方的依赖库统一管理起来,配置和更新只须要经过简单的几行命令便可完成。ios
mac系统已经默认安装好Ruby环境,若是你不肯定本身系统中是否有Ruby的,能够在终端中输入命令行:ruby -v查看当前ruby版本。如图: git
肯定之后,接下来就能够下载和安装CocoaPods,只须要一行命令。在Terminator(也就是终端)中输入如下命令:github
sudo gem install cocoapods
json
可是,在终端中敲入这个命令以后,会发现半天没有任何反应。缘由是那堵墙阻挡了cocoapods.org。vim
解决办法是,咱们能够用阿里云的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令:xcode
首先,检查你的ruby源:ruby
$gem sources -l
默认状况下,终端应该返回以下信息:工具
*** CURRENT SOURCES *** https://rubygems.org/
固然这个源在墙内是访问不到的。所以咱们须要寻找一个能够在国内访问到的镜像。目前笔者找到的是http://rubygems-china.oss.aliyuncs.com这个阿里云的镜像,固然随着时间的推移,将来这个镜像也有可能没法访问了,到时候就只能从新寻找了。阿里云
确认镜像可用后,如今就要开始修改ruby源了。首先执行如下命令删除原来的ruby源:spa
$gem sources --remove https://rubygems.org/
执行命令后可在终端看见如下信息:
https://rubygems.org/ removed from sources
而后下一步添加你找到的可用的镜像源:
$gem sources -a http://rubygems-china.oss.aliyuncs.com
此时若是你再执行gem sources -l命令,就能看到当前镜像源里只有阿里云这一个了。此时你就能够从新执行这一段开头的那句命令了:
$sudo gem install cocoapods
若是一切正常,你应该能看到一段安装进度,以及最后有一条信息:
3 gems installed
确认看见这条信息,后先判断的CocoaPods是否可使用,能够用CocoaPods的搜索功能验证一下。在终端中输入:
pod search AFNetworking;
执行后可能会一直停在
Setting up CocoaPods master repo而后(好久)会出现以下错误:
解决办法是:
这说明CocoaPods还不能正常使用,须要更新pod,下载它的一些依赖包;在终端中输入:
$ pod setup
过一段时间以后,你会在终端中看到跟上面一样的红色的错误信息。
这说明某些环境缘由致使pod更新不了,可能缘由有,1)gem版本过低;2)github没法连接;3).cocoapods目录下的配置信息错误。咱们能够一个一个来排除,
首先更新gem到最新版本,在终端中输入:
$ sudo gem update --system
而后检查是否能够ping通github,在终端中输入:
$ ping github.com
而后查看pob repo list:
$ pod repo list
说明Cocoapods在将它的信息下载到 ~/.cocoapods里;
cd 到该目录里,用du -sh *命令来查看文件大小,结果显示0 repos,说明没有安装成功;
在终端输入:
cd ~/.cocoapods
进入cocoapods文件后在终端输入:du -sh *
从新执行pod setup,过一段时间后提示setup completed,在终端中输入 pod list,展现出安装列表;
这样总算安装好了。接下来再一次输入:
pod search AFNetworking
输入事后它可能会报:
[!] Unable to find a pod with name, author, summary, or descriptionmatching `AFNetworking`
解决方案是:
输入:
rm ~/Library/Caches/CocoaPods/search_index.json
后在一次输入:pod search AFNetworking
就能够咯。
首先来到你的项目文件:
cd 项目文件的位置
而后,添加一个Podfile文件: vim Podfile
而后按i进入插入模式,进行编辑,在文件中输入如下内容:
注意百度上不少旧版本输入的类容:
platform :ios, '8.1'
pod 'AFNetworking', '~> 2.0'
它会报:[!] The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.
如今版本升级官方给的文档是:
platform :ios, '8.0'
target '你的项目名称' do
pod 'AFNetworking', '~> 3.0'
end
注意:'你的项目名称'是你项目文件中'xx.xcodeproj'文件,'xx.xcodeproj'去掉后缀名所得的‘xx’==(就是)‘你的项目名称’
输入完成后按ESC退出编辑模式,最后输入:wq保存并退出文件。此时能够发如今项目目录下多了一个Podfile的文件,请注意这个文件必须与.xcodeproj在同一目录下。
最后:
pod install
没报错就能够了。