创建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
需要指定子库的源文件和头文件
参考文档
最后更新于