Проблемы с интеграцией со смешанной средой Swift и Objective-C - PullRequest
0 голосов
/ 18 февраля 2019

Я создаю фреймворк, который планирую экспортировать через cocoapods.Каркас был написан как на быстром, так и на объективном C.Я создал карту модуля, чтобы помочь мне с тем же.

Ниже приведены соответствующие вещи в podspec:

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

...