Jerry Lee

stay hungry,stay young.

Welcome to my world.


Cocoapods创建私有库(一)


随着我们公司的业务的扩展,项目不断增加,由原来的学生端增加至家长端,老师端等项目组。可复用代码的需求越来越大,同时组件化管理等标准流程也开始正式应用起来了。目前组件化管理用的比较多的就是Cocoapods,将项目中底层的上课音视频层从项目代码中抽离出来,组装成SDK,供其他业务端调用。本篇博客是我在探索制作私有库制作过程中的一些心得记录,仅供参考。


一.创建私有Spec Repo

1.Spec Repo类似一个容器,里面装有所有公开的Pods,当使用Cocoapods后,他就会被clone到本地的~/.cocoapods/repos目录下。终端执行以下命令查看:

pod repo

1@2x.png-48kB

2.我是在Coding上创建的仓库,因为在GitHub上面创建私有库是收费的,所以选择了免费的git服务。在Coding上创建远程私有索引库,用了存放.podspec文件:

2.png-60.8kB

3.创建本地的私有索引库文件夹,并与远程的私有索引库进行关联

pod repo add 本地文件名 sourceURL (上一步建好的远程仓库)

3@2x.png-28.8kB

之后再查看repos目录:已经多了一个我们添加的ZMTestSpec文件夹

4@2x.png-59.6kB


二.创建一个用了存放项目组件的仓库

5.png-60.4kB

1.在一个合适的目录下创建工程模板

pod lib create ZMCommonBackButton

6@2x.png-214.9kB

2.以上信息配置好之后,会自动打开之前创建的测试工程,在工程目录下,我们要替换掉之前的ReplaceMe.m文件

7@2x.png-111.2kB

3.替换完成之后,重新回到Example路径下,重新执行pod install操作

8.png-24.9kB

4.将能够运行的测试代码工程提交的远端代码管理仓库

9@2x.png-138.5kB 10@2x.png-82.1kB

此处有冲突,要解决冲突重新提交

11@2x.png-141.1kB

5.编辑模板工程的.podspec文件

12.1@2x.png-71.1kB

6.验证.podspec

12@2x.png-112.9kB

7.将podspec文件提交到本地的私有索引库

pod repo push ZMTestSpec ZMCommonBackButton.podspec --allow-warnings

13@2x.png-126.3kB

8.提交成功的话,就可以用pod search ZMCommonBackButton查看自己的库了

14@2x.png-59.2kB

9.可以在Demo项目里面引用我们的私有库测试一下

15@2x.png-43.1kB 16.png-18.5kB

OK,此时大功告成了。

三.总结

测试的过程中,还是遇到了一些坑的,参考了一些博客,帮我梳理了整个流程。

1.关于spec repository 和code repository

中间有个过程是验证spec的,老是出错。最后发现是把spec文件和代码放在同一个git仓库里面了。 code repository:代码仓库。我们把包代码上传到这个仓库里。 spec repository:配置仓库。所有的配置按照包名、版本号分门别类的存放在这个仓库。注意: 这个仓库只用来存放spec文件,不存放代码。

2.提交代码工程的时候出错

此时一定要看清出错在哪里,有冲突解决冲突,然后在重新提交。不要盲目去解决问题。

3.关于编辑.podspec文件

s.source_files的文件路径一定要对比下你的工程项目目录,不然一直报错。

最近的文章

Cocoapods创建私有库(二)

接着上篇文章,用Cocoapods创建私有库,完成了我们自己的私有库制作,在接下来的开发工作中,可能会根据需求去更新我们的私有库,本篇文章分享下更新私有库的经历。一.更新具体做法是将要添加的源文件放到Pod/Classes中,然后编辑.podspec文件。编程完成后,本地验证下本地验证通过之后,就可以推送到远端了。这里面有个坑,就是要push tag,由于我漏了这一步,出现了一下问题。可以尝试如下代码git tag -m “update tag” 1.0.1git push –tags然后...…

继续阅读
更早的文章

Cmd markdown

欢迎使用 Cmd Markdown 编辑阅读器我们理解您需要更便捷更高效的工具记录思想,整理笔记、知识,并将其中承载的价值传播给他人,Cmd Markdown 是我们给出的答案 —— 我们为记录思想和分享知识提供更专业的工具。 您可以使用 Cmd Markdown: 整理知识,学习笔记 发布日记,杂文,所见所想 撰写发布技术文稿(代码支持) 撰写发布学术论文(LaTeX 公式支持) 除了您现在看到的这个 Cmd Markdown 在线版本,您还可以前往以下网址...…

继续阅读