在 iOS 开发中通常会引入一些第三方依赖库,如 AFNetworking
,JSONKit
。。。如果我们手动配置这些依赖库,除了加入源码以外,还要手动添加一些系统的 Framework
,CFNetwork
。。。如果这些第三方库发生了更新,我们还需要手动去更新项目。这样很降低我们的开发效率。为了不重复造轮子,提高开发者工作效率,我们利用CocoaPods
来解决这个问题,通过CocoaPods
将第三方的依赖库统一管理起来,方便我们的使用。
Cocoapods原理
Pods项目最终会编译成一个名为
libPods.a
的文件,主项目只需要依赖这个.a
文件即可。对于资源文件,
CocoaPods
提供了一个名为Pods-resources.sh
的bash
脚本,该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。CocoaPods
通过一个名为Pods.xcconfig
的文件来在编译时设置所有的依赖和参数。
安装CocoaPods
本文开发环境为 iMac OS X 10.10.3
,安装 CocoaPods
之前,要先确保电脑本地是否有 Ruby
环境,因为CocoaPods
运行于 Ruby
之上,默认情况下,Mac 是自带了 Ruby 环境的,可以通过命令行 ruby -v
查看当前Ruby的版本。
执行命令:
1 2 |
|
接下来是安装 CocoaPods,今天我遇到了一个问题,下面详细说一下
执行命令:
1
|
|
然后出现下面问题:
1 2 3 |
|
网上很多资料说把镜像源改成淘宝的,执行命令:
1
|
|
然后再次执行 sudo gem install cocoapods
后,问题仍然没有被解决。后来自己分析下 ERROR
原因,原来现在的镜像源不是淘宝了,是用阿里云了。看来不与时俱进,out 了!
执行命令;
1
|
|
再次执行命令:sudo gem install cocoapods
,成功后的效果如下:
$ sudo gem install cocoapods
Fetching: cocoapods-core-0.37.1.gem (100%)
Successfully installed cocoapods-core-0.37.1
Fetching: cocoapods-try-0.4.4.gem (100%)
Successfully installed cocoapods-try-0.4.4
Fetching: cocoapods-0.37.1.gem (100%)
Successfully installed cocoapods-0.37.1
Parsing documentation for cocoapods-core-0.37.1
Installing ri documentation for cocoapods-core-0.37.1
Parsing documentation for cocoapods-try-0.4.4
Installing ri documentation for cocoapods-try-0.4.4
Parsing documentation for cocoapods-0.37.1
Installing ri documentation for cocoapods-0.37.1
3 gems installed
使用CocoaPods
首先,搜索需要的第三方库是否支持 CocoaPods ,执行命令:
1
|
|
如下所示:
新建一个工程CocoaPods,在工程目录下新建一个名为 Podfile
文件。这里通过执行命令:
1
|
|
进行编辑,按 i
进入插入模式,编辑后按 ESC
退出编辑模式,最后输入 :wq
保存后并退出文件。
根据列出来的结果,编辑内容:
1 2 |
|
此时工程下就会有一个 Podfile 文件,注意必须和 .xcodeproj
在同一个目录下。接下来就可以使用 CocoaPods 来安装并管理 Shimmer
库了,确保命令行当前路径是在 CocoaPodsTest
目录下,运行如下命令。
1
|
|
安装完成后会提示如下信息,并且我们的工程目录下会多出一个 .xcworkspace
结尾的文件。
这时候就可以在项目中使用 Shimmer
库了。如果你发现 import
的时候没有提示 FBShimmering/FBShimmeringView.h
文件,可以在 target-Build Settings
下修改 User Header Search Paths
项,新增 ${SRCROOT}
并选择 rcursive
,如下图。
到此,新建工程并使用 CocoaPods 来管理依赖库的过程就完成了,如果是直接使用已有 CocoaPods 的项目,则需要首先运行一下 pod update
命令来更新项,然后照样通过 .xcworkspace
来打开工程。
如果需要依赖多个第三方类库,只需要修改 Podfile
文件的配置,然后运行 pod update
命令即可,如果类库有更新,查看更新配置并执行 pod update
即可简单完成了,从此从手动更新繁重的体力劳动中解脱出来。
小结
Cocoapods 作用强大,是 iOS 开发中必须掌握的一个工具,在后面的工程中,熟练掌握 CocoaPods 。
CocoaPods 使用流程:
$ sudo gem install cocoapods
$ pod search 查找的库
$ vim Podfile
$ pod install
$ pod update