Использование C ++ внутри iOS CocoaPod

Я строю частный Cocoapod для iOS, и сталкиваюсь с проблемами с некоторым кодом C ++. Проект прекрасно работает в XCode, но когда я пытаюсь запустить pod lib lint MyProjectName.podspec Я получаю следующую ошибку:

— ОШИБКА | xcodebuild: /path/to/aheader.h:2:10: ошибка: файл ‘string’ не найден

Заголовок имеет следующую первую строку:

#include <string>

В поисках возможных решений я добавил следующее в podspec (на основе CocoaPods: связь с символами C ++, определенными в libPods.a)

s.source_files = "MyProjectName/**/*.{swift,c,m,h,mm,cpp,plist}"s.library = 'c++'
s.xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11',
'CLANG_CXX_LIBRARY' => 'libc++'
}

Но это не имело никакого значения для ошибки. Другое предложение, которое я видел, было «использовать оболочку», но этот фрагмент кода (который является сторонним IP, который я не могу перенести на Objective C) уже использует оболочку.

Как я могу успешно построить модуль, смешав Objective C и C ++ вместе со Swift? Любые (не нулевые) указатели будут оценены.

2

Решение

Мне пришлось просто переименовать расширение заголовка C ++ в .hpp, чтобы оно не было включено по умолчанию в фильтр source_files. Это решило проблему, поскольку оболочка включала заголовок. Сообщение об этом на случай, если кто-то столкнется с той же проблемой.

Обновление: Нет, просто позволяет создавать приложение, но использование модуля все еще не работает.

0

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

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