开发框架的人需要做的事情:
0. 创建库工程, 添加源文件到Classes文件夹
1. 上传项目到github, 并且打好标签;
- git push origin master
- git tag '1.0.0'
- git push --tags
2. 配置并上传框架的 PodSpec 文件, 并使用trunk的方式上传
- PodSpec理论
* PodSpec 文件 描述自己的框架信息
* pod install 就是根据这个文件里面的 源文件路径进行安装的
* 注意: 一般这个文件的名称和工程名称保持一致
* 创建命令:`pod spec create 文件名称`
- PodSpec文件内容格式
* 可以到官网查看,也可参考github上别人家的PodSpec文件
- 上传之前本地和远程验证
```
本地验证
pod lib lint 项目.podspec --allow-warnings
远程验证
pod spec lint 项目.podspec --allow-warnings
```
- 注册trunk,通过trunk推送podspec文件,
pod trunk push
(或pod trunk push 项目.podspec
),上传这个描述文件到cocoapods在github上的仓库中(https://github.com/CocoaPods/Specs)
》》如何注册trunk:
1、终端输入:pod trunk register 906197xxx@qq.com 'luofeng' --verbose
2、终端提示:打开上述邮箱,点击链接,成功后回到终端;
3、提交podspec文件:pod trunk push LFCategory.podspec
》》pod trunk push xxxx.podspec失败的几种可能:
1、podspec文件的version和pod打的tag没对应上;
2、podspec的文件名已经别人已经用了,这个需要修改;(终端中会提示该pod文件是别人的);
3、trunk还没注册;
- 等待审核。
注意:pod trunk push 上传spec到CocoaPods/Specs中,也可按照正常的操作, 先fork , 然后提交 pull request
3. 更新本地pod 第三方框架信息数据源(可省略)
方式一:pod setup
方式二:可以省略这一步骤, 因为上述提交, 直接更新了本地索引库
4. 测试
使用pod search 命令搜索自己的框架, 如果可以搜索到, 那么代表审核通过了;如果没搜到/Users/fengluo/Library/Caches/CocoaPods
这个文件夹下把search_index.json删了,重新search会再生成一个search_index.json。
备注:远程库的spec文件需要修改或要注意的字段:
Pod::Spec.new do |s|
#项目名称
s.name = "lovellClasses"
#版本
s.version = "0.0.3"
#简介
s.summary = "description."
#详细描述
s.description = "这个是详细描述,一定要注意,字数,要比summary多,否则会报错."
#框架首页
s.homepage = "https://github.com/mylovell/testPerson"
#许可证
s.license = "MIT"
#作者
s.author = { "yyyy" => "xxxx@qq.com" }
#设备
s.platform = :ios, "8.0"
#源码地址,还有这里的tag要和上面的s.versio保持一致
s.source = { :git => "https://github.com/xxxx/testPerson.git", :tag => "#{s.version}" }
#源码中指定哪些文件需要下载
s.source_files = "Classes", "Classes/**/*.{h,m}"
#s.exclude_files当前用不了,可以不要
# s.exclude_files = "Classes/Exclude"
end