Неспособность интегрировать среду Swift и Objective-C - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь добавить быструю поддержку в существующую инфраструктуру на основе 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'

Есть идеи, что я делаю не так? Потому что я не уверен, почему импорт этого публичного заголовка вызывает такую ​​ошибку.

...