您的位置:首页 > 其它

CocoaPods的安装和使用

2015-06-10 10:18 246 查看


这种教程烂大街了,不过我还是写一写,有利于我个人的生态平衡…… :-)

这篇文章主要讲解安装和使用,安装和使用过程中遇到的问题(出错)会记录在CocoaPods使用异常及处理方式,欢迎前往补充

项目开发中,难免会遇到一些开发起来耗时间(or 棘手 or 难办)的功能,那么我就会访问我的贴心小棉袄github,寻找是否已经存在一些符合(or not)项目需求的解决方案。

得益于github大神众多,我往往能找到一些不错的开源库,然后暴力拖拽到项目当中,导入、引用、调试、成功、提交,哦也!(^-^)/

但当引用的第三方库越来越多的时候,一些很尴尬的事情逐渐发生了:-(

1、库文件过大、过多,svn/git commit and update太慢太卡啦~

2、库文件的更新非常麻烦,尤其是使用svn做版本管理的时候,很容易commit失败、update出现问题

3、囧rz 为什么从github下载的可以运行,导入到我的项目就不能了呢……哦,少了framework,少了其他的第三方库……

4、还遇到两个第三方库同时引用了另一个库,想想都是泪

……

所以这个时候,CocoaPods来了,官方的说法是:

CocoaPods是依赖于Swift和Objective-C Cocoa项目。它有近万的库,可以帮助你优雅地扩展您的项目。(☆_☆)

用了CocoaPods后你能告别很多烦恼。

OK,Let's start!

----------------INSTALL--------------------------------

打开终端(Terminal)

安装CocoaPods的命令基于Ruby环境,并且需要管理员权限,so

$ sudo gem install cocoapods


如果出现

Fetching: cocoapods-core-0.37.2.gem (100%)
Successfully installed cocoapods-core-0.37.2
Fetching: xcodeproj-0.24.2.gem (100%)
Successfully installed xcodeproj-0.24.2
Fetching: cocoapods-try-0.4.5.gem (100%)
Successfully installed cocoapods-try-0.4.5
Fetching: cocoapods-trunk-0.6.1.gem (100%)
Successfully installed cocoapods-trunk-0.6.1
Fetching: cocoapods-0.37.2.gem (100%)
Successfully installed cocoapods-0.37.2
Parsing documentation for cocoapods-core-0.37.2
Installing ri documentation for cocoapods-core-0.37.2
Parsing documentation for xcodeproj-0.24.2
Installing ri documentation for xcodeproj-0.24.2
Parsing documentation for cocoapods-try-0.4.5
Installing ri documentation for cocoapods-try-0.4.5
Parsing documentation for cocoapods-trunk-0.6.1
Installing ri documentation for cocoapods-trunk-0.6.1
Parsing documentation for cocoapods-0.37.2
Installing ri documentation for cocoapods-0.37.2
5 gems installed


这一类的数据流,则说明成功了。成功后,可以在终端使用pod命令进行使用,比如通过命令查看版本号,
pod --version

然后你就能愉快的使用,反之,卸载命令

$ gem uninstall cocoapods

否则,请前往CocoaPods使用异常及处理方式查看错误原因,欢迎前往补充

---------------GET START-----------------------------------------

因为接下来要发一个公交app的系列文章(还称不上教程(≧∇≦)),所以这里就用高德地图sdk来作为示范

可以看看高德地图sdk手动配置,2d/3d/search都需要的话,单单引入framework就要11个,作为一个励志成为大神的男人,这种重复性的东西我是拒绝的……再简单也拒绝……:P

so

我们来自动配置高德地图sdk

----首先我们先了解如何判断一个第三方库是不是包含在CocoaPods源中------

----通过search命令(库名不区分大小写)----

pod search AMap3DMap
这里搜索高德地图的3d地图库,返回的结果是

-> AMap3DMap (2.5.1)
3D Map SDK for iOS by Autonavi.
pod 'AMap3DMap', '~> 2.5.1'
- Homepage: http://lbs.amap.com/api/ios-sdk/summary/ #库的主页 - 介绍
- Source:   http://cache.amap.com/lbs/sdk/AMap_iOS_API_3DMap_Lib_V2.5.1.zip - Versions: 2.5.1, 2.5.0, 2.4.2, 2.4.1, 2.4.0, 2.3.0 [master repo]
 可以清楚的看到里面包含了很多重要的信息,其中
pod 'AMap3DMap', '~> 2.5.1'
就是关键的使用方法啦

----然后我们来给项目关联CocoaPods-------

1、我创建了一个BUSDEMO项目,使用终端(vi命令)或文本编辑的方式在该目录里创建一个podfile文件(文本编辑创建的需要去掉扩展名)



2、通过终端(vi命令)或文本编辑器编辑podfile,输入

platform :ios, '8.0' 	    #这里是备注,platform指的是ios平台及最高版本,版本号可以省略
pod 'AMap3DMap', '~> 2.5.1' #这里说明引用指定的库名及版本号
pod 'AMapSearch' 	    #版本号可以省略,默认使用最高版本


3、使用终端(cd命令)进入项目目录

cd /Users/roy/Desktop/练习/bus/BUSDEMO


4、使用终端安装CocoaPods相关的源

pod install
逐渐的出现以下内容

Analyzing dependencies
Downloading dependencies
Installing AMap3DMap (2.5.1)
Installing AMapSearch (2.5.0)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `BUSDEMO.xcworkspace` for this project from now on.
表示成功,最后告诉你从现在开始使用xxx.xcworkspace文件,就是这个家伙



同时我们看到多出了几个文件,Pods文件夹主要放第三方库了,Podfile.lock这个以后再具体解说,这里留个坑

----添加新的源或删除已有的源-------

直接修改podfile文件,备注3d,添加2d

platform :ios 	    #这里是备注,platform指的是ios的最高版本号
#pod 'AMap3DMap', '~> 2.5.1' #这里说明引用指定的库名及版本号
pod 'AMapSearch'  	    #版本号可以省略,默认使用最高版本
pod 'AMap2DMap' 	    #添加一个新的源##########


使用终端(cd命令)进入项目目录,并安装
pod install

(pod install如果一直卡着不动的话,就用pod install --verbose --no-repo-update命令试试)

结果

Analyzing dependencies
<span style="color:#cc0000;">Removing AMap3DMap</span>
Downloading dependencies
<span style="color:#009900;">Installing AMap2DMap (2.5.0)</span>
Using AMapSearch (2.5.0)
Generating Pods project
Integrating client project
结果显示remove了3D源,installing了2D源,Using表示没有修改

----如果库有升级,则更新源-----

pod update
结果

<span style="color:#cc9933;">Update all pods</span>
Analyzing dependencies
Downloading dependencies
Using AMap2DMap (2.5.0)
Using AMapSearch (2.5.0)
Generating Pods project
Integrating client project
这里没有可更新的……

--------结尾------------------------

CocoaPods不止这么简单的功能,还有很多有待发掘,比如如何设置私有库、获取帮助文档、podspec等等

这里留个坑,以后慢慢填。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CocoaPods pods