创建pod库-podspec
#cocoapods #依赖管理 #podspec
创建pod库
这里以SYDCentralPivot 为例,阐述pod库从创建到发布的过程。

1. pod lib
pod lib命令是用来创建 develop pod 库:
pod lib create: 创建一个pod库pod lib lint: 验证一个pod库
2. 创建一个pod库
首先在项目目录下执行命令:

经过一系列的配置(平台,开发语言,测试框架,是否创建Demo),就完成了pod库的创建。
在项目目录下,生成了Demo,源码目录以及配置文件:

*.podspec
Example
pod库目录 (SYDCentralPivot)
LICENSE
README.md
3. 打开Demo 工程

在podfile中可以看到Demo工程以相对路径的方式引入了SYDCentralPivot库。此时,SYDCentralPivot属于 Development Pod,在 Development Pods目录下,而不是在Pods 目录下。
Development Pod 和 普通 Pod 的 区别
Development Pod 和 普通 Pod 的 区别Development Pod 可以直接修改源文件,并在主工程中编译运行。而 普通 Pod 是不可以的
4. 在pod库中添加或者修改源码
直接将需要的源文件拖到 SYDCentralPivot/Class文件夹下; 在 podspec文件的配置中,源文件都在该目录下
执行pod install后,源文件就会出现在 Development Pods目录下:

在 Demo 工程中,调用pod库的代码

5. podspec文件
podspec 文件是对pod库命名,地址,版本,源文件,资源文件以及依赖的具体描述。
version
summary,description
homepage
source
source_files
resource_bundles
public_header_files
dependency
frameworks
vendored_frameworks
libraries
vendored_libraries
在修改了podspec文件后,记得使用pod lib lint 和 pod spec lint验证修改是否有效。
6. 添加资源文件
如果希望在Pod库中添加资源文件(图片,音频以及其他一些配置文件等),就需要用到配置resource_bundles
而在代码中,并不能够通过MainBundle访问这些资源文件,因为这些文件并不在主工程下,而是在主工程依赖的库中。
5. 将pod库推送到远程
这里推送到Github,首先在Github上创建一个仓库,将仓库克隆到本地,将pod库复制到本地的仓库中。
修改
podspec文件,提交到远端库
可以直接使用地址依赖pod库
6. 将podspec推送公共pod repo 或者 私有pod repo中
当把podspec文件推送到公共pod repo后,你就可以通过 pod search 搜索该pod以及直接使用名字安装pod库
6.1 推送到公共pod repo
pod trunk [COMMAND] 是用来和 Cocoapods API 交互的命令.

首次推送pod,需要注册账号

pod trunk push [PATH]pod trunk push将本地开发的pod库的podspec文件推送公共Cocoapods库中,即Cocoapods Specs在推送之前,pod 还会验证
podspec文件是够有效。如果不通过的话,就无法推送上去
因此在推送之前必须使用
pod lib lint或则pod spec lint去验证podspec文件后期pod库更新版本后,同样使用
pod trunk push推送。
6.2 推送到私有pod repo
7. 创建 subspec
subspec 需要指定子库的源文件和头文件
参考文档
最后更新于
这有帮助吗?