Получение ошибки "Не удается загрузить базовый модуль" при импорте инфраструктуры Swift

Я написал фреймворк в Swift 2.3, который использует Cocoapods для использования нескольких проектов Objective C, таких как AFNetworking и CocoaLumberjack. Поскольку мостовые заголовки не могут использоваться в каркасах, я определил карты модулей для каждого проекта Objective-C (а также для нескольких утилит Objective-C, которые я написал). Например, module.modulemap для AFNetworkModule выглядит так:

module AFNetworkModule {
  header "../../Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h"
  export *
}

Также добавлен путь к модульным картам в Build Settings -> Import Paths. Таким образом, я могу импортировать модули в мой фреймворк swift:

import AFNetworkModule

Параметр "Определить модуль" имеет значение "Да" в настройках сборки для платформы.

Внешне я могу использовать фреймворк без проблем в моем образце приложения Swift, используя import MyFramework когда и фреймворк, и пример приложения находятся в одной рабочей области:

-- SampleAppProj
-- MyFrameworkProj
-- Pods

Но я получаю "Невозможно загрузить базовый модуль для MyFramework" при попытке импортировать фреймворк в отдельный проект Swift. Созданный каркас содержит папку Headers, содержащую MyFramework-Swift.h и MyFramework.h (файл зонтика). Я не добавил никаких заголовков в файл зонтика, так как я использую модули для внутреннего импорта target-c в среду swift.

1 ответ

У меня внезапно возникла та же проблема с модулем AVFoundation в приложении, которое до этого прекрасно компилировалось. В качестве обходного пути снимите флажокShow live issuesвXcode -> Settings -> Generalпозволяет избежать этой ошибки и скомпилировать.

Изменить: добавление модуля в настройки проекта устранило проблему. Посмотрите ответы на этот вопрос .

Другие вопросы по тегам