Swift "Bridging-Header.h", не позволяющий мне создавать классы objective-c в .swift файлах
Когда X-код пытается создать заголовок моста автоматически, он сбрасывается каждый раз, поэтому я следовал инструкциям о том, как вручную создавать заголовок моста.
(Создайте файл .h, назовите его < #PROJECT_NAME > -Bridging-Header.h, импортируйте все файлы .h, которые вам нужны?)
Проблема в том, что когда я пытаюсь создать экземпляр класса в файле .swift, который включен в этот заголовок, ничего не происходит (он говорит, что класс не существует). Кроме того, в заголовочном заголовке он, похоже, не автозаполняет мои имена файлов, когда я пытаюсь их включить, заставляя меня поверить, что что-то не связано правильно.
Кто-нибудь сталкивался с этим? Кто-нибудь знает, как это исправить?
Ответы
Ответ 1
Вам нужно добавить его в свои целевые настройки сборки:
-
В Xcode, если вы перейдете в настройки сборки для своей цели и прокрутите весь путь вниз, вы найдете раздел "Swift Compiler - Code Generation".
-
Установите "Objective-C заголовок заголовка" на <#PROJECT_NAME>-Bridging-Header.h
-
Я не уверен в правильности значения "Установить Objective-C Заголовок совместимости", но это да/нет, поэтому вы можете переключить его, если он не работает вначале.
Ответ 2
Я попытался сам создать заголовок моста, но по какой-то причине Xcode ему это не понравилось.
Поэтому я удалил свой собственный, импортировал файл Obj C, который заставил Xcode спросить, хочу ли я создать его для меня.
Я нажал кнопку "да", и это сработало!
Ответ 3
1) создайте файл под названием "FMDB-Bridging-Header.h"
внутри этого файла введите следующее:
#import "FMDB.h"
3) перейти к настройкам сборки → Swift Compiler - генерация кода
- добавить в 'Objective-C Bridging Header': FMDB-Bridging-Header.h
или если он был помещен в папку в вашем проекте:
Имя_папка/FMDB-мост-header.h
Ответ 4
- Добавьте в проект заголовочный файл с именем "[ваш-project-name] -Bridging-Header.h
![]()
-
Перейдите в раздел "Настройки сборки" > "Параметры сборки" и установите "Встроенный контент со сводным кодом" в "Да",
![введите описание изображения здесь]()
-
Перейдите в раздел "Настройки сборки" > "Связывание" и добавьте "@executable_path/Frameworks" в пути поиска пути
![введите описание изображения здесь]()
Создайте свой проект прямо сейчас!
Ответ 5
это может помочь установить имя заголовка моста с его корнем Project, как "MyProject/MyProject-Bridging-Header.h", в строковое значение ключа сборки Swift Compiler "Objective-C Bridging Header"