组件化---把组件打包成framework进行cocoapods管理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/denggun12345/article/details/86304499

       在组件化工程中,有些代码是我们不想暴露给合作伙伴的,所有我们会用库的方式实现代码的共享,因为这里涉及到了资源文件,所以选择framework类型的库,static 和 dynamic都在此进行了尝试。

1、制作framework:制作framework过程中为便于调试,我们采用workspace对project和framework联编的方式,见之前的博客:https://blog.csdn.net/denggun12345/article/details/86152128当然可能还有一些问题例如bundle的制作方法,xib的注意点等等都可以从之前的博客了解https://blog.csdn.net/denggun12345/article/details/86156040

2、创建组件化工程,编辑及测试podspec文件:

  2.1》将模拟器和真机的framework合并好之后,添加到组件化过程中,添加路径如下:

 2.2》编辑podspec

  在podspec文件里添加framework的所有Headers文件夹下.h文件路径:

            s.source_files = 'YHTestSevenEightPod/YHTestSevenEightFramework.framework/Headers/*.{h}';

framework路径:

            s.vendored_frameworks = 'YHTestSevenEightPod/YHTestSevenEightFramework.framework';

framework头文件路径:

            s.public_header_files = 'YHTestSevenEightPod/YHTestSevenEightFramework.framework/Headers/YHTestSevenEightFramework.h'

如下图:

      注意:如果用的是.a库的话,就是s.vendored_libraries了;系统的.a是s.libraries;系统的framework是s.frameworks

3、将通过本地验证的 组件化framework进行本地验证

4、将组件化工程通过cocopods 安装到测试工程进行本地测试,参考博文:https://blog.csdn.net/denggun12345/article/details/85127977

5、将本地组件化framework提交到远程仓库并打tag

6、将通过远程验证的组件化framework,pod到本地使用

 pod下来的framework也要按4的注意点做处理,才能正常运行

上边工程涉及到组件库进行远程托管的,就不在此赘述,具体可参考以前的博文:https://blog.csdn.net/denggun12345/article/details/84989492

此篇文章主要强调framework与非framework组件化的不同点:

一、组件化以framework创建组件化工程,编辑及测试podspec文件

猜你喜欢

转载自blog.csdn.net/denggun12345/article/details/86304499