CocoaPods 能让开发者非常方便的使用第三方类库,不用自己去管理依赖问题,以及非arc等编译条件在mac 系统下调用终端
基本的步骤是 gem install cocoapods -> pod setup -> pod init -> edit Podfile -> pod install -> open xcworksapce (期间出现对应的问题 就对应解决)
为了防止gem安装更新失败,因此先替换为国内的淘宝的镜像源
$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令 (淘宝源地址更新为https了)
$ gem sources -a https://ruby.taobao.org/
//或者 更新为 ruby-china的镜像
$ gem sources -a https://gems.ruby-china.org/
检查一下看看
$ gem sources -l
只有在终端中出现下面文字才表明你上面的命令是成功的:
*** CURRENT SOURCES ***
https://ruby.taobao.org/
使用gem安装cocoapods,这时候,再次在终端中运行:
$ sudo gem install cocoapods
等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。
gem是管理Ruby库和程序的标准包,如果它的版本过低也可能导致安装失败,解决方案自然是升级gem,执行下述命令即可:
$ sudo gem update --system //更新后请重新设置下taobao镜像源
设置pod源码(初始化cocoapods) — 重要问题都在这
如果pod setup 可以将github的代码下载得动(天朝的网络原因),那你就不用去折腾什么oschina源了
$ pod setup //会将Specs.git的代码下载到~/.cocoapods/repo/master
//如果还是太慢(本人下载安装用了半个小时,大约300M+),尝试下
pod install --verbose
为了pod install / update 的时候加快速度,specs仓库镜像换成coding上的镜像或者是 oschina 上的镜像所以建议先更换数据源
$ pod repo remove master
//coding 上有每日更新的,建议使用这个
$ pod repo add master https://git.coding.net/CocoaPods/Specs.git
//或者用oschina,但是https 好像有问题,一直是403,所以用ssh的方式,这里需要到官网去配置ssh key$ pod repo add master https://git.oschina.net/akuandev/Specs.git
如果提示失败或者setup不成功, 可以手动将代码clone下来 【该方法比较有效,速度最快,推荐使用】
正确做法是,自己从一个镜像clone,然后执行:
$ git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master
$ pod setup //务必在手动下载代码后执行一次,执行后 Setup completed 在执行
$ pod install
或者使用命令$ pod install --verbose --no-repo-update//避免去更新了
为了确定CocoaPods是否可以使用,可以用CocoaPods的搜索功能验证一下。在终端中输入:
$ pod search AFNetworking
*如果是重新安装后目录存在,但pod search 无法找到对应库内容,清理缓存即可
$ rm ~/Library/Caches/CocoaPods/search_index.json
Cocoapods 具体使用方法:
直接在需要加入cocoapods项目的根目录新建Podfile文件,个人习惯使用命令行
//为防止路径输入错误,可以直接拖动根目录文件夹到终端 将自动生成对应路径
例如 $ cd /workspace/IOS/CococaPodsTest
$pod init //会生成模板的Podfile文件
//或者手动创建
$touch Podfile
创建编辑Podfile内容:
$ vim Podfile
按 i 开始插入内容
platform :ios, '8.0'
use_frameworks! //个别需要用到它,比如reactiveCocoa
target 'MyApp' do //MyApp为自己的项目名称
pod 'AFNetworking', '~> 2.6' //不加版本号默认获取最新版本
pod 'ORStackView', '~> 3.0'
pod 'SwiftyJSON', '~> 2.3'
end
按 esc 退出编辑状态
:wq 回车保存 //如果需要修改,重新执行 vim Podfile 等
$ pod install //引入库(请确保终端当前目录为项目根目录,即Podfile文件所在目录)
可以看到,工程的根目录下多了三个东西:CocoaPodsTest.xcworkspace、Podfile.lock文件和Pods目录。
原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错,我们需要使用CocoaPodsTest.xcworkspace文件来开发。
⚠️注意:在项目中引用刚才添加的第三方库的头文件 Build 成功后才可以import,否则无法找到引入的第三方库
如果已有第三方库的项目需要添加新库,修改添加Podfile文件内容,然后重新执行安装命令即可
$ pod update
$ pod install