Получение ошибки "Не удается загрузить базовый модуль" при импорте инфраструктуры 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
позволяет избежать этой ошибки и скомпилировать.
Изменить: добавление модуля в настройки проекта устранило проблему. Посмотрите ответы на этот вопрос .