iOS开发之进阶篇(15)—— CocoaPods
Posted iOS开发精髓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发之进阶篇(15)—— CocoaPods相关的知识,希望对你有一定的参考价值。
目录
CocoaPods 安装
CocoaPods 使用
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:
xcworkspace.png
然后我们使用这个工作空间来打开工程, 可以看到第三方库已经加载好:
KKPodsDemo.png
3. CocoaPods 原理简介
我们知道, 执行完pod install
后, 我们工程目录下多了个工作空间xcworkspace以及项目Pods. 第三方库是放到Pods项目中去管理的, 这些第三方库会被编译成.a
或者.framework
库供Pods项目调用, 而Pods又会生成一个libPods-XXX.a
库供我们原来的工程项目使用. 如图:
libPods.png
打开KKPodsDemo的TARGET, 点击Build Settings, 搜索search
查看工程的头文件引用:
header.png
我们看到引用了第三方库的头文件, 而这些头文件已经被复制在Pods工程下的文件夹里了:
Pods_Headers.png
这样我们就可以在我们的项目中直接引用第三方库:
#import "AFNetworking.h"
#import "FMDB.h"
当然, 这里只是简单讨论一下CocoaPods的实现原理, 不继续深入探讨更多细节(如系统依赖和编译参数等).
以上是关于iOS开发之进阶篇(15)—— CocoaPods的主要内容,如果未能解决你的问题,请参考以下文章