Использование необъявленного идентификатора, когда я хочу использовать быстрый файл в объекте c.

когда я хочу использовать файл swift в проекте объекта c и объявляю объект из класса swift, я получаю ошибку «Использование необъявленного идентификатора». путь, которым я прохожу:

  1. скопируйте файл swift в проект и введите @objc перед объявлением класса swift

  2. создать файл заголовка в проекте вручную

  3. установите для параметра "Определяет модуль" значение Да

  4. установите для заголовка моста target-C в target значение $ (SRCROOT) / $ (PRODUCT_MODULE_NAME) -Bridging-Header.h

  5. объявить #import "productModuleName-Bridging-Header.h" в файле objective-c

  6. используйте name_of_swift_class * s = [[name_of_swift_class alloc] init];

когда я хочу использовать быстрый файл на шаге 6, я получаю ошибку «Использование необъявленного идентификатора». Почему?!!! у меня есть ошибка?

когда я тестирую эти шаги в новом проекте, я не получаю ошибки, но в проекте, который я хочу, чтобы он возвращал ошибку.

Спасибо за помощь


person Somaye Sabeti    schedule 10.02.2018    source источник
comment
Вы также можете получить эту ошибку при размещении MyProject-Swift.h в #ifdef FB_SONARKIT_ENABLED или #if DEBUG - тогда он работает в симуляторе, но не при сборке выпуска ..   -  person scbojer    schedule 04.03.2021


Ответы (1)


Проблема находится на шаге 5. Вам не следует импортировать "productModuleName-Bridging-Header.h", вместо этого вы должны импортировать "productModuleName-Swift.h" < / сильный>

P.S- После внесения этого изменения очистите ваш проект, очистите производные данные и создайте его. Это будет работать. Надеюсь, это поможет :)

person Rizwan Ahmed    schedule 10.02.2018