Я пытаюсь добавить быструю поддержку в существующую инфраструктуру на основе Objective-C и сталкиваюсь с ошибками компиляции при интеграции инфраструктуры в приложение (сама платформа хорошо работает).
Моя цель - получить доступ к быстрым заголовкам проекта Objective-C и для этого я использовал файл modulemap для вывода списка всех файлов проекта, как показано, например, здесь: http://nsomar.com/project-and-private-headers-in-a-swift-and-objective-c-framework/
Моя структура каталогов следующая:
MyFramework
Folder1
baz.h
baz.m
Folder2
bar.h
bar.m
foo.h
foo.m
SwiftClass.swift
MyFramework.h
module.modulemap
Файл module.modulemap выглядит так:
module MyFramework_Internal {
header "Folder1/Baz.h"
header "Folder1/Folder2/Bar.h"
export *
}
foo является общедоступным, bar и baz вместо этого имеют членство в проекте. Если bar.h включает foo (например, # import "Foo.h" ), сборка приложения завершится с ошибкой:
<module-includes>:2:9: note: in file included from <module-includes>:2:
#import "Folder1/Folder2/Bar.h"
^
.../Folder1/Folder2/Bar.h:10:9: error: 'Baz.h' file not found
#import "Baz.h"
^
<unknown>:0: error: could not build Objective-C module 'MyFramework_Internal'
Есть идеи, что я делаю не так? Потому что я не уверен, почему импорт этого публичного заголовка вызывает такую ошибку.