最近有朋友想做组件化方面的东西,我之前总结的文章写的是有点不够清楚,尤其是想直接把组件上传到github做开源的情况,不需要创建私有源了。
想起来 一年前自己做过上传到github的组件的过程,现在单独对这种情况总结一下:
第一步: 本地 ---制作本地库,自己使用
- CocoaPods提供了创建库的指令和模板,打开终端,cd到指定目录,比如desktop,然后输入
pod lib create ******
//****是你想取得库的名字,比如输入的是:pod lib create MyKit
输入后会提示正在下载模版,并自动添加到你指定的位置
复制代码
然后下载好模版后 会需要你回答几个问题:
- 你要使用哪种语言?OC 或 swift
- 库中是否包含一个实例程序?(肯定有啊,没有咋调试)
- 你要使用哪个测试框架?(没特殊需求 写None)
- 是否要UI测试?(我一直都是NO)
- 类名前缀是什么?(随你开心咯) 回答完毕后 就会自动下载生成项目了。
- 打开项目,会发现生成了一个ReplaceMe.m文件,这个就是要你把你想组件化的代码文件换到这里:
把文件替换后,进入example项目,然后:
pod install
复制代码
就会看见添加的文件已经pod进来:
然后在example里的viewcontroller里,你就能导入自己的库了 ,run一下,不报错的话就添加成功啦。 3. 新建一个工程,比如testDemo,测试是否可以pod自己制作的本地库 打开testDemo的podfile:target 'TestDemo' do
pod 'componentsOC', :path => '/Users/Climb/Desktop/CbKit’
end
// 其中path =>'/Users/Climb/Desktop/CbKit’ 是你本地库项目的路径
复制代码
然后pod install ,在项目里调用一下本地库文件,运行成功,本地库就制作完成啦!
第二步: 上传到github
1. 先了解Spec和Specs Repo
什么是Spec: 当我们使用指令创建好本地库之后,默认生成podspec文件。 它描述了该库的某一个版本信息(库名字,作者,版本号,描述,依赖库等等),我们在这里做自己的信息编写。
什么是Spec Repo: Spec Repo是Github上的仓库,它包含了所有可用的第三方库。每个库都会有独立的文件夹,每个版本以独立的子文件夹保存。文件夹中只有一个描述文件,也就是Spec。
2. 提交到CocoaPods
提交我们的库到CocoaPods,实质上要做两件事:
(1)把代码库提交到Github
(2)将Spec文件提交到Specs Repo
(1)在github新建个仓库,把本地的代码库推送到github.
可以在提交前修改homePage和source,版本号,简介,作者详情等信息。注意里面的版本号和tag保持一致。
2)提交Spec到Specs Repo
先pod trunk me
查看是否已注册。 实质是把“邮箱-名称-电脑”绑定一起,所以不需要密码。 执行命令行:pod trunk register Email [Name]
然后会提示你到邮箱验证,认证即可。 注册成功后:
//cd 到代码库路径,不是里面的example路径
cd CbKit
//给项目打tag
git tag 0.1.0
git push origin 0.1.0
//检查合法性
pod spec lint 项目名字.podspec
--allow-warnings
//提交到specs Repo
pod trunk push --allow-warnings
复制代码
到这里,就已经成功了,恭喜你!
可能会在几个小时后才能pod search
到,耐心等一下~
所有评论(0)