Файл `React/RCTBridgeModule.h` не найден
Получение этой ошибки при создании приложения iOS с поддержкой реакции на xcode.
![введите описание изображения здесь]()
Начнется получение этой ошибки после установки npm и rpm, связывающей react-native-fs библиотеку. Но после поиска в Интернете решения, я заметил, что многие люди получают ту же ошибку при установке других реагирующих родных библиотек.
A возможное решение, предложенное многими,
Добавление следующего в "Настройки сборки" → "Пути поиска заголовков".
$(SRCROOT)/../node_modules/react-native/React
- (Рекурсивный)
Но не повезло с этим решением, все еще получая ту же ошибку
Ответы
Ответ 1
В моем случае эта конкретная проблема возникла, когда я пытался заархивировать реактивное нативное приложение 0. 40+ для iOS (решение было найдено здесь: Сбой надежной сборки на ^0.39.2
при обновлении до ^0.40.0
).
Случилось так, что XCode пытался строить библиотеки-реактивы параллельно и создавал библиотеки с неявными реакциями перед тем, как на самом деле создавать библиотеку реагирования.
Решение в моем случае было:
Отключите параллельные сборки:
- Меню Xcode → Продукт → Схема → Управление Shemes...
- Дважды щелкните по вашему приложению
- Закладка Build → снимите флажок Parallelize Build
Добавить реакцию как зависимость проекта
- Навигатор проекта 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 в ваш проект и на этот раз свяжет все вручную. Иногда автоматическая привязка вызывает эту ошибку.