最近有朋友想做组件化方面的东西,我之前总结的文章写的是有点不够清楚,尤其是想直接把组件上传到github做开源的情况,不需要创建私有源了。

想起来 一年前自己做过上传到github的组件的过程,现在单独对这种情况总结一下:

第一步: 本地 ---制作本地库,自己使用

  1. CocoaPods提供了创建库的指令和模板,打开终端,cd到指定目录,比如desktop,然后输入
pod lib create ******

//****是你想取得库的名字,比如输入的是:pod lib create MyKit 
输入后会提示正在下载模版,并自动添加到你指定的位置
复制代码

然后下载好模版后 会需要你回答几个问题:

  1. 你要使用哪种语言?OC 或 swift
  2. 库中是否包含一个实例程序?(肯定有啊,没有咋调试)
  3. 你要使用哪个测试框架?(没特殊需求 写None)
  4. 是否要UI测试?(我一直都是NO)
  5. 类名前缀是什么?(随你开心咯) 回答完毕后 就会自动下载生成项目了。
  1. 打开项目,会发现生成了一个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到,耐心等一下~

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐