Потратил много времени на поиск решения в Google и SO, но безуспешно.Очень надеюсь, что кто-то может указать, в чем может быть проблема.
Итак, у меня есть objc + swift project .У меня есть Bridging Header
файл с imports
заголовочными файлами Objc, которые мне нужно использовать в Swift.
Чтобы объяснить проблему, я поделюсь двумя сценариями.В 1-м сценарии все работает отлично.Во втором показывается ошибка.
Обратите внимание: оба сценария имеют одинаковую кодовую базу.
Сценарий 1. Не работает, отображается ошибка.
- Я открываю проект.
- Hard Clean it.
- Build
- Показывает ошибку:
'myProjectName-Swift.h' file not found
- Также отображаются такиеошибка:
не удалось создать предварительно скомпилированный заголовок '/Users/tungfam/Library/Developer/Xcode/DerivedData/myProjectName-ctxxkwqtckhvyoawavmuzmdxqaml/Build/Intermediates.nocompjectHeader-ader-ader-ader_ader-swift_1UP5PCPCLBPHP-clang_18PVO5108TD8S.pch 'для мостового заголовка' /Users/tungfam/Developer/myProjectName/myProjectName/App/myProjectName-Bridging-Header.h'
* 1033 как сделать из Sario
- Я беру тот же код из сценария 1.
- Hard Clean it
- Комментарий
imports
в Bridging Header
файле - Комментарийкод Swift, где я использовал файлы Obc (которые были объявлены в заголовке моста, который я только что прокомментировал впредыдущий шаг)
- Я строю проект.Это удается.
- Так как некоторые части в приложении не работают, потому что я прокомментировал материал.Я раскомментирую файл
imports
in Bridging Header
и код Swift, где я использовал классы Objc. - Запустите снова (без аппаратной очистки), и все будет работать.
Очень ценюлюбая помощь по этому вопросу.Пожалуйста, поделитесь всем, что, по вашему мнению, может помочь решить эту проблему.
Я использую Xcode 10.0;Swift 4.2
UPDATE1
: я думаю, что это должно что-то делать со второй ошибкой, которую я поместил выше.Возможно, он не может сгенерировать этот файл моста.
UPDATE2
: я прочитал что-то вроде: «Если вы импортируете файл Objc с именем ABC в заголовок моста. И если этот ABC импортируетв себя файл myProjectName-Swift.h. Тогда в этом случае могут возникнуть некоторые проблемы. Как вы думаете, это может быть правдой?