Исключение исходных файлов из компиляции в библиотеке CocoaPods

Я конвертирую библиотеку (Unrar4iOS) для работы с CocoaPods, но я столкнулся с проблемой компиляции. Большинство исходных файлов — это файлы C ++, некоторые из которых не добавляются непосредственно в список проектов «Compile Sources», но которые компилируются через #include, Когда один из них компилируется самостоятельно, происходит сбой, потому что это зависит от файла, который #includeэто (странно, я знаю).

Короче говоря, мне нужно получить файл для загрузки в каталог Pods, но не включать его в библиотеку. Насколько я могу судить, source_files Подспец контролирует оба одновременно. Есть ли способ достичь этого чисто на стороне библиотеки, не прибегая к каким-либо хукам в подфиле клиентского проекта?

2

Решение

Я должен был перечислить каждый файл, который необходимо явно скомпилировать в source_files свойства, и перечислите файлы, которые должны были быть встроены в preserve_paths имущество. Вот так:

Pod::Spec.new do |s|
s.name          = "UnrarKit"...
s.source_files = "Classes/*.{mm,m,h}",
"Libraries/unrar/*.hpp",
"Libraries/unrar/archive.cpp",
"Libraries/unrar/arcread.cpp",
"Libraries/unrar/cmddata.cpp",
...
# These files are built implicitly as dependencies
s.preserve_paths = "Libraries/unrar/arccmt.cpp",
"Libraries/unrar/coder.cpp",
"Libraries/unrar/log.cpp",
...
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]