CocoaPods的安装和使用

来源:互联网 发布:淘宝办电工证是真的吗 编辑:程序博客网 时间:2024/05/16 11:01


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

这篇文章主要讲解安装和使用,安装和使用过程中遇到的问题(出错)会记录在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.2Fetching: xcodeproj-0.24.2.gem (100%)Successfully installed xcodeproj-0.24.2Fetching: cocoapods-try-0.4.5.gem (100%)Successfully installed cocoapods-try-0.4.5Fetching: cocoapods-trunk-0.6.1.gem (100%)Successfully installed cocoapods-trunk-0.6.1Fetching: cocoapods-0.37.2.gem (100%)Successfully installed cocoapods-0.37.2Parsing documentation for cocoapods-core-0.37.2Installing ri documentation for cocoapods-core-0.37.2Parsing documentation for xcodeproj-0.24.2Installing ri documentation for xcodeproj-0.24.2Parsing documentation for cocoapods-try-0.4.5Installing ri documentation for cocoapods-try-0.4.5Parsing documentation for cocoapods-trunk-0.6.1Installing ri documentation for cocoapods-trunk-0.6.1Parsing documentation for cocoapods-0.37.2Installing ri documentation for cocoapods-0.37.25 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 dependenciesDownloading dependenciesInstalling AMap3DMap (2.5.1)Installing AMapSearch (2.5.0)Generating Pods projectIntegrating 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 projectIntegrating client project
结果显示remove了3D源,installing了2D源,Using表示没有修改

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

pod update
结果

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

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

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

这里留个坑,以后慢慢填。



0 0
原创粉丝点击