Этот ответ касается варианта использования, когда у вас уже может быть какой-то код Objective-C, который вызывает классы Swift, и вы начинаете получать эту ошибку.
Как исправить проблему
Следующие шаги в конечном итоге решили все проблемы для меня. Я прочитал выше, кто-то упоминает «курица и яйцо», и именно эта концепция привела меня к этой процедуре. Этот явный процесс показывает, что нужно удалить любой код Objective C, ссылающийся на классы Swift, до тех пор, пока не будет сгенерирован заголовок.
- Закомментируйте утверждение #import "ProductModuleName-Swift.h" в файле реализации Objective C
- Закомментируйте любые ссылки в файле реализации Objective C на классы Swift
- Очистить и построить
- Разрешить все ошибки / предупреждения
- Удалите комментарий к выражению #import "ProductModuleName-Swift.h"
- Очистить и построить (успешно или исправить все оставшиеся ошибки, убедитесь, что вы не ссылаетесь ни на какие классы Swift в Objective-C на данный момент . Если это так, временно закомментируйте их)
- Убедитесь, что «ProductModuleName-Swift.h» создан Cmd-Clicking
для имени класса оператора #import «ProductModuleName-Swift.h».
- Удалите комментарий к коду, ссылающемуся на классы Swift, в файле реализации Objective-C.
- Очистите и постройте как обычно («ProductModuleName-Swift.h» должен быть сгенерирован, и ваш код Objective C, ссылающийся на классы Swift, может использоваться как обычно)
Примечание: ответы об изменении пробелов на подчеркивания и определения модуля на YES, приведенные выше, по-прежнему применяются при выполнении этого процесса, как и правила, указанные в документации Apple .
Мостовой путь заголовка
При одной ошибке файл ProductModuleName-Bridging-Header.h не был найден в процессе сборки. Этот факт породил ошибку
<unknown>: 0: ошибка: заголовок моста '/Users/Shared/Working/abc/abc-Bridging-Header.h' не существует
Более тщательная проверка ошибки показала, что файл никогда не будет существовать в указанном месте, потому что он действительно был расположен ( неправильный путь )
'/Users/Shared/Working/abc/abc/abc-Bridging-Header.h. быстрый поиск настроек сборки цели / проектов, чтобы сделать исправление вручную, и файл abc-Swift.h был снова автоматически сгенерирован.
