Я импортировал файл Obj-C в мой быстрый проект, и Xcode автоматически попросил меня создать файл заголовка моста, как и ожидалось. Тем не менее, я удалил оба файла (переехал в корзину), чтобы внести некоторые изменения, но когда я снова попытаюсь импортировать файл Obj-C, подсказка больше не появляется. Какова причина? Я даже тестировал этот же сценарий в другом проекте. Кажется, однажды я удалю Xcode автоматически созданный заголовок моста, он не принесет подсказку снова в другой раз. Почему это?
Xcode не создает автоматически заголовок?
Ответ 1
Причиной вашей проблемы является то, что параметры сборки Xcode по-прежнему содержат путь к автоматически создаваемому файлу заголовка Bridging. Вы не можете получить какие-либо ошибки сборки из-за того, что файл заголовка (ProjectName-Bridging-Header.h)
все еще существует в каталоге вашего проекта.
Как решить:
Нажмите на цель своего проекта. Перейдите на вкладку Настройки сборки (выберите все вместо основного. > ), найдите заголовок заголовка. Вы можете увидеть запись пути сгенерированного Xcode. Выберите его и нажмите кнопку "Удалить".
Кроме того, убедитесь, что вы удалили заголовочный файл с заголовком (ProjectName-Bridging-Header.h)
, созданный автоматически с помощью Xcode, из каталога проектов Xcode.
Теперь попробуйте снова импортировать файл Obj-C. Вы можете увидеть приглашение создать файл заголовка моста, как ожидалось.
Ответ 2
Файл → Новый файл → Файл заголовка
Сохраните его как заголовок заголовка YourApp
Затем перейдите в "Настройки сборки", найдите "Objective-C Bridging Header" (как ранее говорили ребята) и передайте свой заголовок Bridging Header: YourApp/YourApp-Bridging-Header.h Где "YourApp/" - это имя приложение. Он может содержать пробелы, например, "Ваше приложение /".//p >
В моем случае в xCode 7.3.1 он работает
Ответ 3
Существует несколько способов создания Bridging Header в xcode, как упоминалось выше. Здесь я бы дал вам лучший и простой способ создания Bridge.
- Image1 показывает, что в настоящий момент нет моста.
- Image2 показывает, что я скопировал папку, содержащую файлы заголовков objective-c, после того, как на экране появится всплывающее окно.
- Изображение 3 отобразит всплывающее сообщение. Но после нажатия кнопки завершения вы заметите, что до сих пор нет моста. для справки см. изображение2.
- Теперь в image5 & 6 я просто перетаскиваю заголовочный файл objective-c, после этого вы получите всплывающее сообщение.
- После нажатия на кнопку завершения вы получите сообщение типа . Вы хотите настроить заголовок моста objective-c?. После нажатия кнопки "Да" вы получите свой заголовок моста, который вы можете увидеть на изображении5.
если вы хотите сохранить заголовок внутри одной группы, затем используйте Новая группа и перетащите и отпустите файл в этой группе.
Никогда не создавайте какую-либо папку, иначе вы получите ошибку из-за этого.
Ответ 4
посмотрите в настройках вашего проекта → настройки сборки, прокрутите вниз до раздела User-Defined
, посмотрите, есть ли у него ключ с именем SWIFT_OBJC_BRIDGING_HEADER
и если он имеет значение. если его там, вероятно, думает, что у вас есть один, в этом случае просто воссоздайте файл с тем же именем.
Ответ 5
-
Мост файл запрашивает только один раз в проекте.
-
Если вы случайно удалили файл, вам нужно создать новый файл моста. То же самое.
-
Перейдите к
File->New File->Header File
, и имя должно бытьYourProjectName-Bridging-Header
, иначе оно не может быть распознано.
Ответ 6
Если вы хотите настроить его вручную, просто перейдите в Настройки сборки и измените выбор на ВСЕ с Базового (По умолчанию) или настроенного.
Поскольку пустые поля скрыты, чтобы облегчить жизнь обычному конечному пользователю, если вы пропустите запрос на добавление заголовка моста, у вас могут возникнуть трудности с поиском его вручную. Также опция поиска не будет включать скрытые поля.
Измените на Все, и раздел Swift Compiler - General должен отображаться с дочерним параметром "Objective-C Bridging Header".
Ответ 7
- открытый проект xcode
- Файл → новый → Файл → если ты хочешь .swift, затем щелкните файл Swift .h нажмите на файл заголовка .m file object c файл и т.д.