iOS安装和使用CocoaPods详细过程

一、简介

  • 什么是CocoaPods

CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

  • CocoaPods的好处
    1、在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。
    2、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。

二、Cocoapods安装步骤

1、升级Ruby环境

jshtmhydeMacBook-Pro:~ jshtmhy$  sudo gem update --system

2、更换Ruby镜像

首先移除现有的Ruby镜像

jshtmhydeMacBook-Pro:~ jshtmhy$  gem sources --remove https://rubygems.org/

然后添加国内最新镜像源(淘宝的Ruby镜像已经不更新了)

jshtmhydeMacBook-Pro:~ jshtmhy$  gem sources --add https://gems.ruby-china.com

执行完毕之后输入gem sources -l来查看当前镜像

jshtmhydeMacBook-Pro:~ jshtmhy$  gem sources -l

如果结果是
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
说明添加成功,否则继续执行$ gem sources --add https://gems.ruby-china.com来添加

3、安装CocoaPods

jshtmhydeMacBook-Pro:~ jshtmhy$ sudo gem install -n /usr/local/bin cocoapods

到这之后再执行pod setup

jshtmhydeMacBook-Pro:~ jshtmhy$ pod setup

4、使用CocoaPods

1)首先我们来搜索一下三方库
jshtmhydeMacBook-Pro:~ jshtmhy$ pod search AFNetworking

如果出现:
error.png

这是因为之前pod search的时候生成了缓存文件search_index.json
执行rm ~/Library/Caches/CocoaPods/search_index.json来删除该文件
然后再次输入pod search AFNetworking进行搜索
这时会提示Creating search index for spec repo 'master'..

等待一会将会出现搜索结果如下:
iOS安装和使用CocoaPods详细过程_第1张图片
sucess.png

出现这个了就说明搜索成功了,看一下上图中的这一句:
pod 'AFNetworking', '~> 3.2.1'
这句话一会我们要用到,这是CocoaPods添加三方库的关键字段
然后退出这个界面(这一步只是验证一下cocoapods有没有安装成功,能不能搜索到你想要的三方库),直接按"q"就退出去了。

2、在工程中创建一个Podfile文件

要想在你的工程中创建Podfile文件,必须先要进到该工程目录下

jshtmhydeMacBook-Pro:~ jshtmhy$ cd /Users/jshtmhy/Desktop/iOS\ 代码练习/CocoaPodsTest   //这是我电脑上的路径,你输入你自己项目的路径或直接拖拽也行

进来之后就创建

jshtmhydeMacBook-Pro:~ jshtmhy$ touch Podfile

然后你在你的工程目录下可以看到多了一个Podfile文件

3、编辑你想导入的第三方库的名称及版本

使用vim编辑Podfile文件

jshtmhydeMacBook-Pro:~ jshtmhy$ vim Podfile

然后就编辑文字,输入以下文字

platform :ios, '8.0'
target 'AppName' do
pod 'AFNetworking', '~> 3.2.1'end

解释一下
platform :ios, '8.0'代表当前AFNetworking支持的iOS最低版本是iOS 8.0,
'AppName'就是你自己的工程名字,
pod 'AFNetworking', '~> 3.2.1'代表要下载的AFNetworking版本是3.2.1及以上版本,还可以去掉后面的'~> 3.2.1',直接写pod 'AFNetworking',这样代表下载的AFNetworking是最新版。

编辑完之后成如下样子:
iOS安装和使用CocoaPods详细过程_第2张图片
edit.png

此时该退出去了,先按左上角的esc键,再按:键,再输入wq,点击回车,就保存并退出去了。

4、把该库下载到Xcode中
jshtmhydeMacBook-Pro:CocoaPodsTest jshtmhy$ pod install

出现如下界面就说明安装好了
iOS安装和使用CocoaPods详细过程_第3张图片
pod sucess.png

这个时候关闭所有的Xcode窗口,再次打开工程目录会看到多了一个后缀名为.xcworkspace文件。
iOS安装和使用CocoaPods详细过程_第4张图片
image.png
以后打开工程就双击这个文件打开了,而不再是打开.xcodeproj文件。
进入工程后引入头文件不再是#import "AFNetworking.h",而是#import

注意:

1、更新podfile的库
pod install

pod install 在执行的时候每次都会先执行pod repo update,比较耗时,所以一般选择不更新只使用本地仓库的版本

pod install --no-repo-update

2、更新库

pod update
#pod update 同样的可以只使用本地仓库的版本
pod update --no-repo-update

3、更新本地索引库

#更新本地所有库
pod repo update
#更新本地指定库
pod repo update master

4、只更新某个库

#只更新afn
pod update AFNetworking

5、指定cocopods的版本进行操作

#指定1.5.0版本进行更新
pod _1.5.0_ update

6、创建podspec 文件

#pod spec create 名称 git地址,git可以帮助填充podspec里面的许可、版本、作者信息等
pod spec create testDemo [email protected]:GuoMs/testDemo.git

注意:pod install 和 pod update的区别

pod install

pod install一般是你第一次想要为项目添加pod的时候使用的,它同样也使用在你为Podfile文件添加或移除pod库的时候。

每次pod install命令运行的时候,pod install会为每一个它安装的pod库在Podfile.lock文件中写入其版本号。Podfile.lock文件追踪每一个安装的pod库的版本号,并锁定这些版本号。

当你运行pod install是,它将只解决不在Podfile.lock中的pod库依赖关系

对于在Podfile.lock文件中的pod库,pod install会只下载Podfile.lock文件中指定的版本,而不会去检查这个库是否有更新的版本。

对于不在Podfile.lock文件中的pod库,pod install会搜索这个pod库在Podfile文件中指定的版本。

pod update

当你运行了pod update PODNAME命令,CocoaPods会在不考虑Podfile.lock中版本的情况下试着去查找PODNAME的最新版本。pod update PODNAME命令会将相应的pod更新到最新的版本(新版本仍然遵守你在Podfile中做的限制)

你可能感兴趣的:(iOS安装和使用CocoaPods详细过程)