CocoaPods使用

CocoaPods算是iOS开发者的必须课了,是非常常用的服务,这篇文章简单总结一下Pods的安装和基本使用。

Pods使用Ruby开发,用Gems管理。工作的基本原理是基于Github仓库搭建开源项目的repo源,使用时通过git将repo源clone到本地,repo中包含开源项目的Git仓库地址,使用Pods导入时就是使用地址将开源项目clone到项目目录。

安装

Pods使用Gems安装,不过在国内受到GFW的限制,所以需要将Gems的源改成国内的。

先使用如下命令查看下Gems的源,默认情况下rubygems.org

1
gem source -l

执行如下指令将删除默认源,再加入taobao的源,注意是https。

1
2
gem source --remove https://rubygems.org/
gem source -a https://ruby.taobao.org/

再执行第一条命令可以检查是否添加成功。

初始化(可以跳过)

前文说道pod使用Github仓库管理开源项目的项目地址,初始化就是把仓库clone到本地,执行如下指令:

1
pod setup

当然,因为GFW的存在。。

Pods会将repos源的master分支clone到~/.cocoapods/repos ,所以我们可以找国内的镜像clone过去,或者可以下载zip包,解压到这个目录,比用git快。我自己也创建了一个repo的仓库,可以通过这个链接下载:https://git.coding.net/kyleduo/PodSpecs.git ,不定期更新,如果有需要也可以发邮件通知我。

集成Pods

到这里Pods就可以用了,进入项目目录,执行:

1
pod init

会创建一个Podfile 文件,打开这个文件,会看到如下所示的内容:

1
2
3
4
5
6
7
8
# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
# use_frameworks!

target 'PCHImportProblem' do

end

我们要在end之前插入所需的开源项目,以JSONModel为例,编辑过后的项目如下:

1
2
3
4
5
6
7
8
9
10
11
# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
# use_frameworks!
source 'https://git.coding.net/kyleduo/PodSpecs.git'

target 'PCHImportProblem' do

pod 'JSONModel'

end

第一行source参数是用来指定使用的git仓库,直接访问Github还是比较慢的,而且这个仓库文件超多。

继续执行如下指令:

1
pod install

前文提到初始化过程可以忽略,就是在这一步骤的时候,会自动同步repos。如果不希望同步repo,只想导入,可以加上下面的参数:

1
pod install --no-repo-update

看到如下内容就说明导入成功,打开xcworkspace文件即可在项目中使用JSONModel了。

1
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.

其他

Pods通过修改项目的Configurations来添加Header的搜索目录,在Xcode中选择项目,可以看到Configurations。如果项目有多个Target,并且都希望使用JSONModel,需要将Pods提供的xcconfig文件设置到多个Target。如图:

pod_config