В смешанном модуле objc/swift Xcode всегда пытается включить сам модуль

Это нелегко объяснить, но также очень раздражает.

Я работаю над фреймворком Cocoapods (в ​​режиме разработки) с исходниками objc и swift. Давайте назовем это фреймворком " Суперкомпонент "

Xcode автоматически генерирует SuperComponent-Swift.h файл, чтобы сделать классы Objc видимыми из Swift.
Некоторые классы Objc также включают классы Swift.

Во время компиляции, в SuperComponent-Swift.h Xcode добавляет строку

#import <SuperComponent/SuperComponent.h>

... и не компилируется с сообщением: SuperComponent/SuperComponent.h file not found

Xcode пытается включить фреймворк в сам фреймворк!

Если я вручную отредактирую автоматически сгенерированный файл, комментируя #import, проект компилируется отлично. Но Xcode автоматически генерирует файл после каждой очистки и перед архивированием проекта!

Любая подсказка?

1 ответ

Решение

Я не знаю, почему Xcode автоматически добавляет #import <SuperComponent/SuperComponent.h> строка (так как это работает без него), но если я буду добр с ним, добавив пустой SuperComponent.h файл в корне моего фреймворка, он изящно компилируется.

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