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

本文详细介绍如何使用framework方式创建组件化工程,包括制作framework、编辑及测试podspec文件、本地及远程验证等步骤,并对比framework与非framework组件化的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

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

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

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

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值