Ошибка сборки. Файл React / RCTBridgeModule.h не найден

Я потратил свой день, пытаясь решить свою проблему, я пробовал все решения, которые нашел в других сообщениях SO, но, к сожалению, я не могу понять, как решить свою проблему.

Я пытаюсь интегрировать TouchID в свой проект, поддерживающий реакцию. Я загрузил пакет npm под названием «response-native-touch-id» (звучит идеально!). Я выполнил руководство по установке и вручную связал библиотеку со своим проектом.

Но когда я пытаюсь запустить приложение, я получаю следующую ошибку:

Ошибка сборки. Файл React / RCTBridgeModule.h не найденОшибка сборки. Файл React / RCTBridgeModule.h не найден

Пытался очистить свой проект:

  • rm -rf node_modules
  • очистка кеша пряжи && установка пряжи
  • rm -rf ios / Pods / && pod install

В xCode я даже папку сборки убираю.

О моих версиях:

  • РН: 0,57,4
  • xCode: 10.1
  • реагировать-родной-сенсорный-идентификатор: 4.3.0

Вот мой подфайл:

def available_pods
  pod 'TouchID', :path => "../node_modules/react-native-touch-id"
end
target 'App' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  available_pods
end

Я добавил .xcodeproj пакета response-native-touch-id в каталог библиотек моего проекта и на этапах сборки связал его.

Ошибка сборки. Файл React / RCTBridgeModule.h не найденОшибка сборки. Файл React / RCTBridgeModule.h не найден

Но я все еще получаю одну и ту же ошибку снова и снова ... Я не понимаю, почему ... Если у кого-то есть идея, помощь будет очень признательна :)

Вам действительно нужен use_frameworks! и строки available_pods в вашем файле pod? Если нет, я предлагаю вам удалить эти строки и выполнить чистую установку модулей и модулей npm, как вы это делали ранее.

needsleep 29.11.2018 16:24

Выбрана ли для вашего проекта схема "React" в меню продукта?

helloworld 29.11.2018 16:36

Удаляю use_frameworks! строка из моего подфайла, но та же ошибка, что и раньше ... @helloworld Да, она выбрана и находится в верхней части списка

Hurobaki 29.11.2018 16:40

Xcode выдает мне эту ошибку, когда существует несоответствие между минимальными целями iOS между файлом проекта моего приложения и файлом проекта модуля, то есть когда минимальная цель модуля выше, чем у приложения.

onnoweb 29.11.2018 17:35

используйте 56.0.0 - лучшая версия

Vishal Vaghasiya 30.11.2018 04:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
6
5
11 749
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Оказалось, что проблема была в подфиле. Похоже, что Podfile использует собственный Podspec, который вызывает проблемы. Поэтому я просто удаляю объявление модуля TouchId из своего файла Podfile, очищаю и переустанавливаю свои модули.

Затем я вручную связал библиотеку с моей рабочей областью xcode. Для этого под названием вашего проекта Щелкните правой кнопкой мыши каталог библиотек => Добавить файлы в «имя вашего проекта» => Добавить xcodeproj пакета npm, расположенного внутри каталога node_modules.

После этого в вашем проекте Фазы сборки под Свяжите двоичный файл с библиотеками вам нужно добавить статическую библиотеку пакета npm (пример libTouchID.a в моем случае).

Чтобы убедиться, что вы можете очистить свой проект и попытаться восстановить его, теперь он должен работать.

Для информации я сохранил все версии своего программного обеспечения, упомянутые выше.

Если он показывает реакцию на родную (отсутствующую) в

product->scheme->manage scheme->project name->build

  1. удалить папку ios
  2. реагировать-родное извлечение
  3. cd ios /
  4. pod init
  5. установка стручка
  6. компакт диск ..
  7. реакция на родную ссылку
  8. cd ios
  9. открыть * .xcworkspace /

это происходит, когда собственный пакет реакции не связан должным образом со сборкой ios. Ссылка npm делает это.

Использовать react-native eject - не лучшая идея. Кроме того, если вы обновите свою версию Xcode до актуальной последней версии 11.0 с RN0.60, вам даже больше не нужно будет связываться, благодаря автоматическому связыванию, предоставляемому этой версией RN.

Hurobaki 27.09.2019 08:43

для более старой версии React Native он нам все еще нужен

Abey Thomas 27.09.2019 08:50

Я предпочитаю связывать вручную, это безопаснее, но вы правы, что для более старой версии нам нужно связать пакет. В любом случае не советую выгружать проект.

Hurobaki 27.09.2019 08:55

Другие вопросы по теме