iOS开发之进阶篇(15)—— CocoaPods

Posted iOS开发精髓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发之进阶篇(15)—— CocoaPods相关的知识,希望对你有一定的参考价值。

目录

  1. CocoaPods 安装

  2. CocoaPods 使用

  3. CocoaPods 原理简介

1. CocoaPods 安装

CocoaPods 使用 Ruby 脚本语言编写, 故我们的Mac需要有Ruby环境. 而Mac是自带装有Ruby的, 但是一般版本都比较低, 我们需升级到更新版本.
升级Ruby我们需要用到其版本管理工具RVM, 故我们需先安装RVM. 而安装RVM过程会自动通过Homebrew安装依赖包, Homebrew是一款macOS平台下的软件包管理工具.
所以我们整个安装顺序依次为 Homebrew ~> RVM ~> Ruby.

接下来我们将在Mac终端执行一系列安装程序.

安装Homebrew
安装期间可能需要输入密码, 注意输入密码时光标是没反应的.
喝杯☕️ , 这过程有点长...

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

查看版本

brew -v

安装RVM

curl -L get.rvm.io | bash -s stable

查看版本 (可能提示需要重新打开终端或另开启一个)

rvm -v

升级Ruby
查看当前本地的Ruby版本

rvm list

列出已知的所有Ruby版本

rvm list known

选择最新的安装. 再喝杯☕️ , 这步骤也很耗时...

rvm install 2.7.0

指定刚安装的版本为系统默认版本

rvm use 2.7.0 --default

替换Ruby默认源
Ruby默认源在国内无法访问, 故需要更换Ruby镜像. 将使用gem命令,  gem是一个管理Ruby库和程序的标准包.
移除系统默认源

gem sources --remove https://rubygems.org/

添加新的源

gem source -a https://gems.ruby-china.com

查看是否替换成功

gem sources -l

安装CocoaPods

sudo gem install -n /usr/local/bin cocoapods

将所有第三方库的索引文件更新到本地目录

pod setup

然后搜索某个库, 如果不执行pod setup, 搜索完:wq退出.

pod search FMDB

查询版本

pod --version

至此, CocoaPods安装完毕.

2. CocoaPods 使用

cd到工程目录:

cd /Users/kang/Desktop/KKPodsDemo

创建 Podfile 文件:

touch Podfile

使用vim编辑文件, 或者直接双击文件打开编辑.

vim Podfile

键入i, 进入输入模式:

[光标]
~                                                                                 
~                                                                                                                                                                                                                                                                                                                       
~                                                                                 
"Podfile" 0L, 0C

pod第三方库:

platform :ios'9.0'

target `KKPodsDemo` do
        pod 'AFNetworking'
        pod 'FMDB'
end

然后按Esc退出输入模式, 然后:wq保存并退出.

接着执行update操作, 等待下载第三方库:

pod install

如果后期需要添加库, 只需执行更新操作:

pod update

完成后就多了个xcworkspace:


iOS开发之进阶篇(15)—— CocoaPods

xcworkspace.png

然后我们使用这个工作空间来打开工程, 可以看到第三方库已经加载好:


iOS开发之进阶篇(15)—— CocoaPods

KKPodsDemo.png

3. CocoaPods 原理简介

我们知道, 执行完pod install后, 我们工程目录下多了个工作空间xcworkspace以及项目Pods. 第三方库是放到Pods项目中去管理的, 这些第三方库会被编译成.a或者.framework库供Pods项目调用, 而Pods又会生成一个libPods-XXX.a库供我们原来的工程项目使用. 如图:


iOS开发之进阶篇(15)—— CocoaPods

libPods.png

打开KKPodsDemo的TARGET, 点击Build Settings, 搜索search查看工程的头文件引用:


header.png

我们看到引用了第三方库的头文件, 而这些头文件已经被复制在Pods工程下的文件夹里了:


Pods_Headers.png

这样我们就可以在我们的项目中直接引用第三方库:

#import "AFNetworking.h"
#import "FMDB.h"

当然, 这里只是简单讨论一下CocoaPods的实现原理, 不继续深入探讨更多细节(如系统依赖和编译参数等).

以上是关于iOS开发之进阶篇(15)—— CocoaPods的主要内容,如果未能解决你的问题,请参考以下文章

《iOS开发进阶》连载:第2章-使用CocoaPods做依赖管理

iOS分享之开发环境的搭建及CocoaPods的安装

CocoaPods入门到精通

ios开发xcode 8.3之CocoaPods的安装

iOS 开发之 CocoaPods 安装与使用

iOS 开发之Cocoapods的使用及制作私有pods