В моем cocoapod для iOS у меня есть по существу предметы:
- Классы с открытым исходным кодом (файлы .m и .h)
- MyFramework.framework(каталог .framework, файлы заголовков и .bundle для ресурсов)
Один из классов с открытым исходным кодом вызывает import <MyFramework.MyFramework.h>
, поэтому он может использовать компоненты MyFramework в своей реализации. Но из-за этого у меня возникают проблемы с получением podspec для прохождения теста spec lint (pod spec lint MyCocoapod.podspec
). Когда я запускаю проверку спецификации, она говорит:
ERROR | [iOS] [xcodebuild] .../MyFile.h:54:9: fatal error: 'MyFramework/MyFramework.h' file not found
Во время исследования я заметил, что podspec передает проверку spec lint, если я удалю этот класс с открытым исходным кодом в разделе podspec source_files, s.source_files = 'MyFiles.{h,m}'
. Любая идея, почему мой класс не может импортировать мою пользовательскую структуру во время проверки спецификации?
Соответствующий код в podspec выглядит следующим образом:
s.preserve_paths = 'myframework/MyFramework.framework'
s.frameworks = 'Foundation', 'MyFramework'
s.xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => '$(SRCROOT)/myframework/' }
s.public_header_files = 'MyFramework.framework/Headers/*.h', 'SourceCode/*.h'
s.source_files = 'SourceCode/*.{h,m}' # Crashes here - Source_file imports MyFramework.h. If I take this out, it passes spec lint validation