我正在为一个开源库构建一个 pod,并且必须保持公共头文件的目录结构不变。简化的例子是这样的:
include/header1.h
include/foo/header2.h
src/file.c
src/internal.h
该include
目录包含公共标头。
我的 podspec 包含:
s.public_header_files = 'Foo/Classes/include/**/*'
s.private_header_files = 'Foo/Classes/src/internal.h'
s.header_mappings_dir = 'Foo/Classes/include'
项目Example
编译良好,Pods/Headers/Public/Foo
目录包含与原始目录相同的结构include
。
仍然pod lib lint Foo.podspec --use-libraries
给我这个错误:
- ERROR | [iOS] header_mappings_dir: There are header files outside of the header_mappings_dir (Foo/Classes/src/internal.h)
出色地。是的。的确。但为什么这是一个错误?我完全适应这种情况。
我自己找到了一个解决方案,但我不确定它是否正确。
s.exclude_files = 'Foo/Classes/src/internal.h'
这使 linter 很高兴,并且项目仍然可以编译。但是感觉不对,因为文件是项目的一部分。
谢谢!