Подтвердить что ты не робот

Файл `React/RCTBridgeModule.h` не найден

Получение этой ошибки при создании приложения iOS с поддержкой реакции на xcode.

введите описание изображения здесь

Начнется получение этой ошибки после установки npm и rpm, связывающей react-native-fs библиотеку. Но после поиска в Интернете решения, я заметил, что многие люди получают ту же ошибку при установке других реагирующих родных библиотек.

A возможное решение, предложенное многими, Добавление следующего в "Настройки сборки" → "Пути поиска заголовков".

$(SRCROOT)/../node_modules/react-native/React - (Рекурсивный)

Но не повезло с этим решением, все еще получая ту же ошибку

4b9b3361

Ответ 1

В моем случае эта конкретная проблема возникла, когда я пытался заархивировать реактивное нативное приложение 0. 40+ для iOS (решение было найдено здесь: Сбой надежной сборки на ^0.39.2 при обновлении до ^0.40.0).

Случилось так, что XCode пытался строить библиотеки-реактивы параллельно и создавал библиотеки с неявными реакциями перед тем, как на самом деле создавать библиотеку реагирования.

Решение в моем случае было:

  1. Отключите параллельные сборки:

    • Меню Xcode → Продукт → Схема → Управление Shemes...
    • Дважды щелкните по вашему приложению
    • Закладка Build → снимите флажок Parallelize Build
  2. Добавить реакцию как зависимость проекта

    • Навигатор проекта Xcode → перетащить React.xcodeproj из Библиотеки в корневое дерево
    • Вкладка "Фазы сборки" → Целевые зависимости → + → добавить Реагировать

Ответ 2

Убедитесь, что вы отключили Parallelise Build и добавили цель React выше цели

enter image description here

Ответ 3

БЫСТРАЯ ИСПРАВЛЕНИЕ (не самая лучшая)

Измените строки заголовка реакции на импорт:

 #import <React/RCTBridgeModule.h>
 #import <React/RCTLog.h>

To:

 #import "RCTBridgeModule.h"
 #import "RCTLog.h"

Вот пример изменений, которые мне пришлось внести в библиотеку, которую я пытался использовать: Закрывает # 46 - файл 'RCTBridgeModule.h' не найден.

Ответ 4

+ Изменить

  #import "RCTBridgeModule.h"

в

 #import "React/RCTBridgeModule.h"

Ответ 5

Для зрителей, получивших эту ошибку после обновления React Native до 0,40+, вам может потребоваться запустить react-native upgrade в командной строке.

Ответ 6

Мне удалось создать отладку, но мне не удалось создать архив.

Я решил эту проблему, перетащив React.xcodeproj, найденный в /node_modules/response-native/React, в мой корневой каталог в Xcode, а затем добавил React как целевую зависимость в фазах сборки > целевые зависимости.

Ответ 7

Если Libraries/React.xcodeproj красные в xcode, переустановите node_modules

rm -rf node_modules && yarn

Мой недавно созданный проект из реактивного урона 0.46.3 был красным: S У меня npm 5.3.0 и пряжа 0.24.5, когда я сделал init-init init

Ответ 8

Последние выпуски интерактивных библиотек, как описано в предыдущих сообщениях, и здесь имеют нарушения совместимости. Если вы не планируете обновлять до 0.40+, но вы можете принудительно установить предыдущую версию библиотеки, например, с помощью реакции-native-fs:

npm install --save -E [email protected]

Ответ 9

Эта ошибка появилась для меня после того, как я запустил команду pod install для новых зависимостей. Наряду с этим, React был также установлен. Поэтому, вероятно, Xcode был перепутан для пути. Я удалил эти строки из PodFile и ошибка исчезла. Обратите внимание, что удаленные отсюда уже были связаны в Xcode.

target 'app' do

  pod 'GoogleMaps'
  pod 'Firebase/Auth', '~> 6.3.0'
  pod 'Firebase/Database', '~> 6.3.0'

  # Removed four pods below and it worked.

  pod 'react-native-image-picker', :path => '../node_modules/react-native-image-picker'

  pod 'ReactNativePermissions', :path => '../node_modules/react-native-permissions'

  pod 'react-native-image-resizer', :path => '../node_modules/react-native-image-resizer'

  pod 'RNFS', :path => '../node_modules/react-native-fs'

  end

Ответ 10

импорт "React/RCTBridgeModule.h"

Ответ 11

Если вы хотите сделать это из вашего редактора, также откройте SMobile.xcscheme

И изменить parallelizeBuildables = "NO"

Ответ 12

Для меня не сработало ни одно из вышеперечисленных решений, и ниже это то, что сработало (я уже проверил Parallelize Build и добавил React)

1. Open XCode --> To Libraries add '$LibraryWhichDoesNotWork.xcodeproj$'
2. Then for your app in the 'Build Phases' add to the 'Link Binary with Libraries' the file 'lib$LibraryWhichDoesNotWork$.a'

Ответ 13

Я столкнулся с этой проблемой при обновлении с версии 0.58.4 до новой версии 0.60.4. Ничто из того, что я нашел в Интернете, не помогло мне, но мне удалось заставить его работать:

Зайдите в настройки параметров, найдите "Пути поиска в заголовке", выберите запись, нажмите кнопку "УДАЛИТЬ".

У меня были эти значения переопределены, и похоже, что после удаления они вернулись к значениям по умолчанию. Также Cocoapods жаловался на это с сообщениями в Терминале после pod install:

[!] The 'app [Release]' target overrides the 'HEADER_SEARCH_PATHS' build setting defined in 'Pods/Target Support Files/Pods-app/Pods-app.release.xcconfig'. This can lead to problems with the CocoaPods installation

Ответ 14

Перейдите в папку iOS в вашем проекте и установите pod - $ pod install

Если вы получаете какую-либо ошибку при установке типа модуля command- $ Xcode- выберите -p

Результат должен быть -/Applications/Xcode.app/Contents/Developer

Если путь неверен, откройте ваш проект iOS в XCode и перейдите по адресу: Xcode-> предпочтения-> командная строка tools-> выберите xcode

И снова установите модуль, ваша проблема будет исправлена.

Наслаждаться,

Ответ 15

Что вы можете сделать, чтобы понять это:

1) npm uninstall reat-native-fs для удаления библиотеки

2) npm unlink react-native-fs, чтобы отсоединить библиотеку

Теперь библиотека успешно удалена и теперь снова установит lib в ваш проект и на этот раз свяжет все вручную. Иногда автоматическая привязка вызывает эту ошибку.