最近在学习ios开发,下载了github上面很多优秀的源码,发现很多项目都包含Pods这个东西,在本地编译的时候总是编译不通过,于是搜索了一下Cocoapods,根据网络上的一些文章做了了解,并进行了安装使用,本篇来简单的整理一下。
首先,我们需要搞定楚Cocoapods是什么?来看一下官网的解释:
CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over eighteen thousand libraries and can help you scale your projects elegantly.
意思就是说CocoaPods是针对Swift和OC Cocoa项目的一个依赖管理工具。它包含有一万八千个类库,可以帮助你优雅的扩展你的项目。其实就是一堆类库的集合。
做过Java或Android开发的,可以简单的把它理解为maven或gradle中央仓库,你只需要配置一下类库的坐标,下载编译通过就可以使用这些类库提供的功能。
CocoaPods的编译和安装需要Ruby环境的支持,OS X系统默认集成了Ruby环境,其他的老系统请自行google安装。
Ruby环境正常后,要下载和安装Cocoapods很简单,打开终端,输入以下命令:
sudo gem install cocoapods
它需要你输入下密码,并等待一段时间安装,所请耐心等待,安装成功后,会有如下的提示信息:
不过这只是最理想的情况,你可能会碰到网络问题,因为天朝的墙阻挡了cocoapods.org的访问,这时候你就需要手动的切换下Ruby源,通过淘宝提供的Ruby镜像来访问cocoapods。在终端中依次输入以下命令,先删除默认的ruby源:
gem sources --remove https://rubygems.org/
等待一会儿会提示你删除成功,然后再添加taobao的源:
gem sources -a https://ruby.taobao.org/
添加成功后,你可以通过gem sources -l命令查看,如下:
接下来,输入第一步的命令,就可以了,不需要进行其它额外的设置。
安装完CocoPods之后,我们来学习一下如何使用它,首先我们随便找一个工程,或者新建一个,以之前的一篇文章IOS开发笔记(Swift):UITableView表格视图的静态使用中,创建的UITableViewDemo为例,通过命令行进行到工程目录,如下:
然后输入pod init命令,这个命令的作用是初始化pod,它会在你的工程下面创建一个Podfile的文件,我们需要在Podfile文件里面引入我们的类库,效果如下:
然后,我们需要编辑这个文件,可以通过vim,也可以通过Xcode打开,这里通过Xcode打开,命令如下open -a Xcode Podfile,效果是这个样子:
我们随便引入一个类库Alamofire,这是一个swift编写的http网络库,Github地址,根据地址上面的说明,进行配置,效果如下:
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '9.0' use_frameworks!
target '
编辑完之后保存,然后回到命令行,执行pod install命令,相应的还有pod update命令,感兴趣的朋友可以看一下使用 pod install 还是 pod update ?,这里不再解释。
这里需要注意一点:在你初次执行pod install命令时,系统会自动执行pod setup,从**https://github.com/CocoaPods/Specs上**下载索引文件更新到本地,目前大概有756M,你可以通过如下图所示的命令随时查看下载了,一定要有耐心:
不过由于网络原因,CocoaPods很可能会无限卡在Setting up CocoaPods master repo,这时候你可能需要切换一下镜像,使用oschina的镜像,地址是:https://git.oschina.net/akuandev/Specs.git,你需要依次执行如下几条命令:
pod repo remove master
pod repo add master https://git.oschina.net/akuandev/Specs.git
pod repo update
然后再执行pod install命令,正常执行完的效果如下:
在pod install的过程中,你可能和还会遇到一个奇葩问题,Unable to add a source with url,原因是由于你的系统上可能安装了多个版本的xcode导致,以下是两个解决方案:
CocoaPods解决Unable to add a source with url
Unable to add a source with url
安装成功后,我们会发现我们的工程目录里面多了一些文件,如下:
通过Xcode我们打开xcworkspace文件,看一下效果:
可以看到多了一个Pods的工程,通过其中的Podfile文件,我们可以配置一些类库的引用,不过每次在添加、编辑、删除类库时,我们都需要重新通过命令行执行一次pod install命令,以便把所需的类库安装进你的工程,有点麻烦。
不过cocoapods是我们学习ios开发必不可少的一个工具,我们开发过程中可能遇到的所有问题,它都有相应的类库提供解决方案,如果你想更深入的了解它,请点击这里CocoaPods Wiki。