pod 安装
cocoapods 简介:
CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。
Cocoapods意义体现在两个方面。第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。第二,使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。
安装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
即可简单完成了,从此从手动更新繁重的体力劳动中解脱出来。