前言
其实,在上一年接触过组件化的内容,当时的目的也只是扩展自己的知识与见识,在面试问到的时候,也能回答上一二。不过对于我,这种学而不用的东西,很快就会遗忘,这也体现的学习巩固的重要性。
现在在新的项目里满满的组件化内容,让我不得不重新学习组件化的内容。
准备
- 第一个你需要会git的代码管理,因为组件化涉及到代码仓库管理,推荐一个学习git的好地方:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 我就不多说介绍了。
- 第二个就是Cocoapods了,安装教程:http://www.jianshu.com/p/9e4e36ba8574
深入了解:https://guides.cocoapods.org/ - 第三个,你需要一个远程仓库。一般使用GitHub就行,这个在git学习里有介绍。
开始啦
这篇文章只简单的讲下操作流程,如何让自己的库能pod下来,细节会在下一篇介绍。
-
首先在你的GitHub上新建一个项目,然后
git clone
克隆到本地,新建一个Classses的文件夹,里面放入你想放入的代码,上传到远程代码库,Classes中放的是我想上传的代码,里面就2个文件。最后像我这样: -
然后在终端中cd进入库所在的文件夹中,创建spec描述文件文件,命令是
pod spec create HPStudy
最后那个名字改成自己的。出现绿色的说明成功了。
你可以在目录里确认下:
配置描述文件,打开它,修改成所需要的,详细的下一篇再讲。描述文件:
Pod::Spec.new do |s|
s.name = "HPStudy"
s.version = "0.0.1"
s.summary = "HPStudy"
s.description = "HPStudy Description"
s.homepage = "https://github.com/harryphone/HPStudy"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "HuangYiFeng" => "harryphone@163.com" }
s.source = { :git => "https://github.com/harryphone/HPStudy.git", :tag => "#{s.version}" }
s.source_files = "Classes", "Classes/**/*.{h,m}"
end
- 提交代码,更新远程代码库,打上tag值
0.0.1
- 现在可以向Cocoapods注册一个账号,因为你需要把自己库的描述文件传给他
pod trunk register harryphone@163.com 'harryphone' --verbose
:
成功的话,他会提示你需要登录自己邮箱,去激活下:
然后登录自己邮箱,你会收到一封邮件,点开链接。激活下就行。
- 最后一步就是把自己的spec文件传上去:
pod trunk push HPStudy.podspec
,等待的时间有点长。
这是成功后的显示。
- 当然我们传上去的目的是要用,先查询下有没有自己的库。
pod search HPStudy
,结果如下:
终端提示我们找不到这个名字的文件,原因当然是本地索引文件没有同步到远程最新的。
先把本地原有的索引文件删掉,
然后在终端中pod setup
更新下本地的spec文件
等更新完后,再次搜寻下pod search HPStudy
,就会找到你想要的库了
总结
这篇文章主要用来给我自己快速回忆所用,有些详细的,有空我会在后面补上。