"Не переносимый путь к файлу" File.h ", указанный путь отличается в случае с именем файла на диске" предупреждение в заголовке моста после обновления до Xcode 8.3

Я обновился до Xcode 8.3 и Swift 3.1 и получил это предупреждение в моем заголовочном файле, ссылаясь на заголовочный файл Objective-C:

Не переносимый путь к файлу "File.h"; указанный путь отличается в случае с именем файла на диске

Как я могу это решить?

Ответ 1

Оказалось, что я набрал имя файла, правильное имя было "FILE.h" вместо "File.h". Предупреждение появилось из-за скорого APFS для macOS.

Ответ 2

В моем случае имя папки проекта !! !! не соответствует пути заголовка моста.

Я изменил

"проект/project-Bridging-Header.h"

в

"Project/project-Bridging-Header.h"

Проверено на Xcode 9.3

Ответ 3

Еще одна причина, по которой я столкнулся, заключалась в том, что проект библиотеки некорректно импортировал себя. Например, для заданных проектов Main и Library, Main будет импортировать библиотеку с:

#import "Library/Library.h"

Если библиотека пытается использовать тот же импорт, появится предупреждение о непортативном пути. Удаление части пути - это легко исправить:

#import "Library.h"

Лучшее решение - импортировать из библиотеки определенные компоненты, которые нужны библиотеке:

#import "Widget.h"
#import "NSString+Library.h"