Проблемы с интеграцией со смешанной средой Swift и Objective-C
Я создаю фреймворк, который планирую экспортировать через cocoapods. Каркас был написан как на быстром, так и на объективном C. Я создал карту модуля, чтобы помочь мне с тем же.
Ниже приведены соответствующие вещи в подспец:
s.user_target_xcconfig = {
'FRAMEWORK_SEARCH_PATHS' => '$(inherited)'
}
s.modulemap = "path to modulemap"
Ниже моя карта модуля:
framework module test {
umbrella header "test-umbrella.h"
}
module test.Swift {
header "test-Swift.h"
requires objc
}
При интеграции фреймворка в файл Objective-C все работает как положено. Я импортирую фреймворк и использую его без проблем
Но когда я импортирую его в файл swift в том же приложении, у меня возникают проблемы. Автозаполнение не работает, и кажется, что sourceKit аварийно завершает работу "Произошла внутренняя ошибка. Функциональность SourceEditor ограничена. Файл ошибки". Это также блокирует автозаполнение для других функций. Но как только я напишу правильную строку кода, его сборка будет в порядке.
Я попытался изменить параметры сборки, чтобы включить пути поиска заголовка и изменить карту модуля. Но я заблудился о том, в чем может быть проблема.
Есть два связанных вопроса. Но они не решены.
1) Неспособность интегрировать среду Swift и Objective-C. 2) Интеграция инфраструктуры Swift и Objective-C с закрытым исходным кодом в приложение Swift.