组件化---组件代码库的分层并用.h文件收集代码库中的文件

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

1、之前写的组件代码库结构都比较简单,但实际在进行项目组件化过程中,工程的结构就比较复杂了,因此涉及到了对文件的分层,很多文章都以subsepc的方式对组件文件分层,其实这样做太麻烦,而且podspec容易出问题,我在组件化过程中也试过这种方法,不好使。这里介绍一个简单方法:

将组件库的podspec文件s.source_files = 'YHTestSevenEight/Classes/**/*' 写成这种格式,就不必再用subspec方式对文件分层了,直接按正常方式写podspec文件即可,亲测有效。

解析:

* 表示匹配所有文件

*.{h,m} 表示匹配所有以.h及.m结尾的文件

** 表示匹配所有子目录

举例:

下载文件夹YHTestSevenEight下所有文件,子文件不识别:s.source_files = 'YHTestSevenEight’

下载文件夹目录YHTestSevenEight下所有格式文件:s.source_files = 'YHTestSevenEight/*.*’

下载目录及其子目录YHTestSevenEight下所有文件:s.source_files = 'YHTestSevenEight/**/*’

下载文件夹下名称为AppManInfo AppWomanInfo 的.h及.m文件:s.source_files = 'YHTestSevenEight/App{Man,Woman}Info.{h,m}’

目标文件路径下的文件不进行下载:s.ios.exclude_files = 'YHTestSevenEight/Classes/json’

2、用.h文件收集所有组件库需要导入的文件

在组件工程中创建SevenEight.h文件,文件内容为

#import "YHTestSevenViewController.h"

#import "YHTestEightViewController.h"

#import "YHTestSevenCell.h"

#import "YHTestEightCell.h"

文件所在位置为Classes文件夹下,如图:


之所以放在Classes文件夹下,是因为podspec文件s.source_files = 'YHTestSevenEight/Classes/**/*'只写这一个文件源即可

猜你喜欢

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