cocoaPods类库管理工具的使用
有不足的地方欢迎大家批评指正。(1131991303@qq.com /** 仅限交流编程技术 */)
1、安装Ruby和cocoaPods
1.0cocoaPods核心简介
Cocoapods是OS X和iOS下的一个第三方库管理工具。你能使用CocoaPods添加被称作“Pods”的依赖库,并轻松管理它们的版本,而不用考虑当前的时间和开发环境。
Cocoapods意义体现在两个方面。首先,引入第三方库无可避免地要进行各种各样的配置。对于Objective-C的初级开发者来说,项目配置可是一件艰巨的任务。在配置编译阶段和链接器选项的过程中,极有可能引入许多人为的错误。而CocoaPods简化了这一切,它能自动配置编译选项,拯救了开发者。
其次,使用CocoaPods可以很方便地查找新的第三方库。当然,这可不是说让你七拼八凑别人代码而开发出一个“移栽”应用。而是让你找到真正好用的库,缩短你的开发周期,提升你的代码质量。
接下来,我们将通过分析pod安装的过程,一步步揭示CocoaPods背后的技术。
cocoaPods核心组件
CocoaPods是用ruby写的,并划分成了若干个Gem包。CocoaPods在解析执行过程中最重要的几个包的路径分别是:CocoaPods/CocoaPods、CocoaPods/Core和CocoaPods/Xcodeproj。
CocoaPods /CocoaPod
这是面向用户的组件,每当你执行一个pod命令时,这个组件将被激活。它包括了所有实用CocoaPods的功能,并且还能调用其他gem包来执行任务。
(1).CocoaPods / Core
Core gem提供了与CocoaPods相关的文件(主要是Podfile和podspecs)的处理。
(2).Podfile
Podfile用于配置项目所需要的第三方库。它能被高度定制,所以你可以尽可能地给它添加你想要的特性。如果您还想对Podfile了解更多的话,请查看Podfile指南(地址http://guides.cocoapods.org/syntax/podfile.html)。
(3).Podspec
.podspec文件描述了一个库将怎样被添加进工程中。.podspec文件可以标识该第三方库所需要的源码文件、依赖库、编译选项,以及其他第三方库需要的配置。
(4).CocoaPods/ Xcodeproj
这个包负责工程文件直接关系的处理。它能创建以及修改.xcodeproj文件和.xcworkspace文件。它也可以作为一个独立的包使用,当你要编写修改项目文件的脚本时,可以考虑使用CocoaPods/Xcodeproj。
1.1查看是ruby源
ruby的软件源https://rubygems.org因为使用的是亚马逊的云服务,所以被墙了,需要更新一下ruby的源,使用如下代码将官方的ruby源替换成国内淘宝的源.
移除现有Ruby默认源:$gem sources --removehttps://rubygems.org/
添加ruby源:$gem sources -a https://ruby.taobao.org/
打开终端,输入命令$ gem sources–l来查看源,如果从没有安装过Ruby可以忽略此命令;
如果安装ruby成功,终端出先如下图提示:
1.2安装CocoaPods
安装命令:
$sudo gem install cocoapods
$pod setup
(备注:苹果系统升级OS X EL Capitan后改为$sudo gem install -n /usr/local/bin cocoapods1.3)
等待到终端提示如下内容则证明安装成功:
2、cocoaPods的使用
2.1查看cocoapods版本及更新
查看当前系统Cocoapods版本命令:$pod --version
使用ruby的gem命令更新pods的命令:
$sudo gem install cocoapods
$pod setup
2.2使用cocoaPods管理项目
以项目CTHelper为例:
a.新建Xcode项目CTHelper,使用终端cd到该项目目录里面;
$ cd /Users/LYPC/Documents/PodsDemo/CTHelper
b.查看第三方库是否支持cocoapods,例如查看MJRefresh:
$pod search MJRefresh
c.利用vim创建Podfile文件,写入以下内容并保存,提示:(终端vim文件按i可编辑,esc退出编辑,:wq可保存退出)
终端输入vim Podfile
键盘输入i,进入编辑模式,
输入
platform :ios,
'7.0’
pod 'MJRefresh','~> 3.1.0'
pod‘AFNetworking’,“~>3.0"
把需要添加的三方库通过pod‘库名字’,“~>版本号码"的形式输入完成后,键盘点击esc健,输入:wq结束
d.保证当前目录是在CTHelper目录下,下载导入第三方库命令:
$pod install
$pod update
成功之后:
两种命令的区别:
在下载、安装新的库的同时,会把你安装的每个库的版本都写在Podfile.lock文件里面,这个文件记录你每个安装库的版本号。使用pod install相当于锁定了这些版本,并不会去检查是否该库有新的版本;使用pod update, CocoaPods会帮你更新到这个库的新版本,而不需要考虑Podfile.lock里面的限制,它会更新到这个库尽可能的新版本,只要符合Podfile里面的版本限制.
e.更新指定库到最新版本:
$pod updateMJRefresh更新MJRefresh到最新版本
f.下载完成之后项目的目录结构:
注:以后再次打开此项目的时候,打开xxx.xcworkspace即可
3、卸载cocoaPods
命令:$ sudo gem uninstall cocoapods