一、安装和使用 Cocopods
网上已有很多教程,参考示例:CocoaPods 安装教程
二、组件库支持 Cocopods 方式引入
1. 创建远程代码仓库
创建远程代码仓库(并不是 podspec 文件的仓库),此仓库放的是源代码。可以在 GitHub 上创建仓库。
2. 创建远程 podspec 仓库
如果要发布到 Cocopods 的官方 spec 仓库(公开的),那么就不需要创建。当然私有库是需要创建的,在这一步两者不一样。公开库参考示例:发布开源库到 Cocopods 官方仓库
3. 创建本地代码工程
可以使用 pod 命令创建,得到一个工程模板,并且可以根据需要配置工程,如下:
命令创建工程模板
pod lib create < 组件库名 >
工程配置选择
选择平台
What platform do you want to use?? [iOS / macOS] iOS
选择语言
What language do you want to use?? [Swift / ObjC] ObjC
是否自动生成一个用来做 demo 测试的模板库, 建议 Yes,后面方便测试
Would you like to include a demo application with your library? [Yes / No]
Yes
是否集成测试框架
Which testing frameworks will you use? [Specta / Kiwi / None] None
UI 测试
Would you like to do view based testing? [Yes / No] No
指定类前缀
What is your class prefix? WT
4. 编写 podspec 文件
如果用第三步的命令创建工程模板,那么在 Podspec Metadata 目录下已经自动生成了。如果是已有的工程或者库文件目录,也可以利用 Pod 命令自己制作.podspec 文件,命令如下:
pod spec cretae < 组件库名 > 参考链接:podspec 文件的具体说明
5. 验证 cocoaPods 索引文件
命令如下:
pod lib lint(从本地验证你的 pod 能否通过验证)pod spec lint(从本地和远程验证你的 pod 能否通过验证)pod lib lint –verbose(加 –verbose 可以显示详细的检测过程,出错时会显示详细的错误信息)pod lib lint –allow-warnings (允许警告,用来解决由于代码中存在警告导致不能通过校验的问题) pod lib lint –help(查看所有可选参数,可选参数可以加多个)
6. 本地测试库是否可用
新建工程,切换到工程目录,执行命令
pod init
修改 podfile 文件, 并添加上本地库路径
pod ‘ 库名 ’, :path => ‘/Users/xxx/Documents/ 库名 ’
拉取 pod 代码:成功后可看到我们的库并没有在 pods 里面,而是在 Development Pods 里面,可用先检测代码有没有问题。
7. 提交工程代码
提交工程代码到远程代码仓库,可以利用 git 或者 svn 进行代码版本管理,提交代码到 GitHub 等
8. 提交 podspec 文件
开源库提交 podspec 文件到 Cocopods 官方仓库,当然需要现在 ocopods 官方仓库中注册账号,命令如下:
pod trunk me(检查是否注册 trunk)pod trunk register < 邮箱 > < 注册名字 > –verbose(注册命令)
注册完成之后会给你的邮箱发个邮件, 进入邮箱邮件里面有个链接, 需要点击确认一下. 之后开始提交,切换到有.podspec 文件的组件工程根目录执行命令
pod trunk push < 组件库名 >.podspec pod trunk push < 组件库名 >.podspec –allow-warnings
私有库提交 podspec 文件到远程 podspec 仓库,和 Cocopods 官方库不同的是,私有仓库需要先添加到本地仓库,再 push 到远程仓库,因为 Cocopods 默认已经添加到了本地仓库(默认为 master),Mac 系统可以查看文件目录 (~/.cocoapods/repos),私有库命令如下:
添加到本地仓库, git@git.xxxx.git 为远端 podspec 库的地址,成功之后目录(~/.cocoapods/repos)除了 master 之外,新增了一个文件夹(< 组件库名 >)
pod repo add < 组件库名 > git@git.xxxx.git
查看是否添加成功
pod repo list
push 到远程 podspec 仓库
pod repo push <podspec 远端仓库名 > < 组件库名 >.podspec
9. 检查仓库是否发布成功
pod 搜索一下:
pod search < 组件库名 >
如果报错,搜索不到,建议更新下 pod:
pod update
之后仍然搜索不到,那么进入 CocoaPods 缓存目录,删除缓存索引文件 search_index.json:
cd ~/Library/Caches/CocoaPods ls rm -f search_index.json
10. pod 库文件引入
如果是开源库(公有的),修改 podfile 文件:
pod ‘ 组件库名 ’
如果是私有仓库,建议在 podfile 文件开头添加 source 源:
source ‘https://github.com/CocoaPods/Specs.git’ #官方仓库地址
source‘http://xxx/ 组件库.git’#私有 podspecs 仓库地址
最后执行命令进行安装:
pod install
三、Cocopods 打包静态库