我正在为开源库构建pod,并且必须保留公共头文件的目录结构不变。 简化的例子是这样的:pod lib lint关于header_mappings_dir之外的头文件的投诉
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
项目编译罚款和目录包含相同的结构与原始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快乐,项目仍然编译。但感觉不对,因为该文件是该项目的一部分。
谢谢!