CocoaPods(第三方类库管理工具)
iOS安装CocoaPods详细过程
-
什么是CocoaPods
CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。
-
CocoaPods的好处
1、在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。 2、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。
二、Cocoapods安装步骤
注意:在终端输入命令时,取$后面部分输入
1、升级Ruby环境
终端输入:$ gem update --system
此时会出现
这是因为你没有权限去升级Ruby
这时应该输入:$ sudo gem update --system
此时会出现
接下来输入密码,注意:输入密码的时候没有任何反应,光标也不会移动,你尽管输入就是了,输完了直接回车。 等一会如果出现
恭喜你,升级Ruby成功了。
2、更换Ruby镜像
首先移除现有的Ruby镜像
终端输入:$ gem sources --remove https://rubygems.org/
然后添加国内最新镜像源(淘宝的Ruby镜像已经不更新了)
终端输入:$ gem sources -a https://gems.ruby-china.org/
(https://gitcafe.com/akuandev/Specs.git 替换成 http://git.oschina.net/akuandev/Specs.git 即可使用 oschina 上的镜像)
执行完毕之后输入gem sources -l来查看当前镜像
终端输入:$ gem sources -l
如果结果是 *** CURRENT SOURCES ***
https://gems.ruby-china.org/
说明添加成功,否则继续执行$ gem source -a https://gems.ruby-china.org/
来添加
3、安装CocoaPods
接下来开始安装
终端输入:$ sudo gem install cocoapods
如果出现这个
说明没有权限,需要输入
终端输入:$ sudo gem install -n /usr/local/bin cocoapods
安装成功如下:
到这之后再执行pod setup(PS:这个过程是漫长的,要有耐心)
终端输入:$ pod setup
然后你会看到出现了Setting up CocoaPods master repo,卡住不动了,说明Cocoapods在将它的信息下载到 ~/.cocoapods里。 你可以command+n
新建一个终端窗口,执行cd ~/.cocoapods/
进入到该文件夹下,然后执行du -sh *
来查看文件大小,每隔几分钟查看一次,这个目录最终大小是900多M(我的是930M) 当出现Setup completed
的时候说明已经完成了。
哈哈,太不容易了,终于走到这一步了,终于安装完成了,那么到底能不能用呢?咱们接着往下看! 注意:以上所有的步骤都是为这台电脑配置CocoaPods环境,以下才是真正的把CocoaPods安装到你的工程里面。
4、CocoaPods的使用
好吧,废话少说,我们先创建这个神奇的Podfile。在终端中进入你项目所在目录(cd命令)
$cd /Users/ijeff/Desktop/cocoaPodsDemo1
然后在当前目录下,利用vim创建Podfile,运行:
$vim Podfile
然后在Podfile文件中输入以下文字:
platform :ios, '7.0'
pod 'AMap2DMap', '~> 2.5.0'
pod 'AFNetworking', '~> 2.5.3'
pod 'SDWebImage', '~> 3.7.2'
这两句文字的意思是,当前AFNetworking支持的平台: ios,
要下载的AFNetworking版本是2.0。
然后保存退出。vim环境下,保存退出命令是:
$:wq
这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。
(注意,Podfile文件要在项目文件夹的根目录下。)
这时候,你就可以利用CocoaPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:(--verbose --no-repo-update)
$pod install
运行完$pod install命令后会产生几个新文件。你会发现多了两个文件 “.xcworkspace”, “Podfile.lock”和一个文件夹“Pods”。
注意: 以后打开项目就用 .xcworkspace 打开,而不是之前的.xcodeproj文件。
至此,CocoaPods已经在你的项目中植入,管理了一个第三方库AFNetworking。上面写了这么多,其实过程是十分简单的。总结一下就是:
- 先在项目中创建Podfile,Podfile的内容是你想导入的类库。一般类库的原作者会告诉你导入该类库应该如何写Podfile;
- 运行命令:$pod install
使用$pod install进行安装时如果出现如下错误:
$ pod install
Analyzing dependencies
[!] Unable to find a specification for `AFNetworking (~> 2.0)`
尝试解决办法:
把当前Pod的目录清理一下就行了。在终端执行以下命令:
pod repo remove master
pod setup
setup成功后执行install
这是因为之前pod search的时候生成了缓存文件search_index.json 执行rm ~/Library/Caches/CocoaPods/search_index.json
来删除该文件 然后再次输入pod search AFNetworking
进行搜索 这时会提示Creating search index for spec repo 'master'..
等待一会将会出现搜索结果如下: