开始使用 CocoaPods

简单记录一下最近在项目中使用 CocoaPods 遇到的问题和解决办法

What’s it

CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects.

简单翻译就是一个用于 Swift 和 OC 的 Cocoa 项目的依赖管理器。

下载和安装

CocoaPods官网 指明了此软件是基于 Ruby 开发环境的,但是这里默认你已经安装好了 Ruby 环境(OS X系统已经默认安装了)。接下来用一条指令即可安装CocoaPods

1
$ gem install cocoapods

但是等你安装报错才发现,我们身处大局域网之内,很难连上 Internet。
针对这个问题,国内已经有网站提供了镜像,比如淘宝提供RubyGem,所以我们只需要替换下镜像的地址即可。

1
2
3
4
$ gem sources -l #列出镜像地址,默认是 https://rubygems.org/
$ gem sources --remove https://rubygems.org/ #将其移除
$ gem sources -a https://ruby.taobao.org/ #添加新的源
$ gem sources -l #可以查看是否已经添加成功了

再次执行安装命令,通关了~
接下来执行

1
$ pod setup #官方没有这一步,我看的其他博客,不知道缺少这一步会怎样

在执行这一步时,我等了半个小时都没什么反应,还以为是卡死了,Google下来发现这是安装了一个什么包,大概有700M上下,所以最好耐心一点。

。。。。。。

项目初始化

安装好了之后,进入到想使用Cocoapods的项目根目录,执行

1
$ pod init #比较标准的方法

该命令会创建一个名为 Podfile 的文件,大概长这样:

1
2
3
4
5
6
platform :ios, '8.0' #指定运行平台
#use_frameworks! #如果使用swift的话就取消该注释

target 'MyApp' do #'MyApp'是你的项目名称
pod 'AFNetworking', '~> 2.6' #引入一个库就要新建一个条目,后面指定的版本号不是必须的,默认安装最新版,但是估计有时候会有特殊需求
end

当然你也可以手工创建一个Podfile文件,当然如果你不按照以上格式来的话肯定会报错,我最初就根据一个视频的步骤直接写了最核心的那一条pod 'AFNetworking',然后就跳坑了,保存文件当然不会提示你有什么错误,但是后面就会了。以上,根据自己的需求编辑保存好Podfile,执行:

1
$ pod install #在项目中安装你引入的三方依赖

该命令会读取刚才的Podfile文件,然后将你需要的依赖安装好,此时你的项目目录会多出来几个陌生的文件,不用管它,我们只需要记住之前打开工程文件是 xx.xcodeproj,而现在和以后都请打开刚才生成的 xx.xcworkspace工程文件。

在项目中引入库文件

这个需要看你使用的第三方库而定,比如我使用了SDWebImage,就用如下代码引入

1
#import <SDWebImage/UIImageView+WebCache.h>

当然,不同的库肯定不一样,关于你使用的库,在CocoaPods的官网搜索库名,里面会详细介绍该库用法以及API。

移除CocoaPods

如果后来不想在项目中使用 CocoPods 了,怎么办呢?
pod --help 查看帮助发现有个参数deintegrate,后面介绍说Deintegrate CocoaPods from your project,大意就是取消项目中集成的CocoaPods,执行

1
$ pod deintegrate

通过终端打印结果可以看出,它从项目中移除了好些东西,但是还有文件没有删除干净,比如Podfile.lock和Pods文件夹以及工程文件xx.xcworkspace,删除之,个人觉得之前创建的Podfile还是先备份一下,万一后悔了呢!!!

参考

CocoaPods官网
http://www.cnblogs.com/wayne23/p/3912882.html
http://www.jianshu.com/p/ea36b56bb17b
http://www.cocoachina.com/bbs/read.php?tid=1682495

avatar

神无

舍悟离迷,六尘不改。