Получение этой ошибки при создании приложения iOS для реагирования на xcode.
Начала получать эту ошибку после установки npm и связывания rpm библиотеки react-native-fs . Но после поиска решения в Интернете я заметил, что многие люди получают ту же ошибку при установке других собственных библиотек React.
Возможное решение было предложено многих является, добавление следующих под «Build Settings» -> «Header Пути поиска».
$(SRCROOT)/../node_modules/react-native/React
- (Рекурсивный)
Но не повезло с этим решением, по-прежнему возникает та же ошибка
react-native-webrtc
Ответы:
В моем случае эта конкретная проблема возникла, когда я пытался заархивировать приложение для iOS с реагированием 0.40+ (решение было найдено здесь: надежная сборка
^0.39.2
не выполняется при обновлении до^0.40.0
).Случилось так, что Xcode пытался построить библиотеки, поддерживающие реакцию, параллельно и строил библиотеки с неявными зависимостями реакции перед фактическим построением библиотеки реакции.
В моем случае решение заключалось в следующем:
Отключите параллельные сборки:
Добавить реакцию как зависимость проекта
источник
Убедитесь, что вы отключили
Parallelise Build
и добавилиReact
цель выше своей целиисточник
БЫСТРЫЙ ИСПРАВЛЕНИЕ (не самое лучшее)
Измените строки заголовка import response-native:
Кому:
Вот пример изменений, которые мне пришлось внести в библиотеку, которую я пытался использовать: Закрывает # 46 - файл RCTBridgeModule.h не найден .
источник
#import <React/RCT...h>
? совершить здесь#import "RCTBridgeModule.h"
действительно сработал для меня сегодня лучше.+ Изменить
к
источник
Для тех, кто получил эту ошибку после обновления React Native до 0.40+, вам может потребоваться запустить
react-native upgrade
программу из командной строки.источник
Если
Libraries/React.xcodeproj
в xcode красный цвет, переустановите node_modulesМой недавно созданный проект из react-native 0.46.3 был красным: SI имеет npm 5.3.0 и yarn 0.24.5, когда я выполнял init-native init
источник
Последние выпуски библиотек, поддерживающих реакцию, как описано в предыдущих сообщениях и здесь, содержат критические изменения совместимости. Если вы не планируете обновляться до react-native 0.40+, вы можете принудительно установить предыдущую версию библиотеки, например, с помощью response-native-fs:
источник
Мне удалось создать отладку, но не удалось создать архив.
Я решил эту проблему, перетащив
React.xcodeproj
файл / node_modules / response-native / React в мой корневой каталог в Xcode, а затем добавил React в качестве целевой зависимости на этапах сборки> целевые зависимости.источник
React.xcodeproj
в/node_modules/react-native/React
.react-native run-ios
, я получаю ошибки компиляции, которых не бывает в Xcode. Расстраивает полное отсутствие соответствующей документации.После React Native 0.60 эта проблема часто вызывается связанной библиотекой, смешанной с новой функцией «автоматического связывания». Это исправляет это для меня
Отключить старую библиотеку с помощью
Интеграция Refresh Pods полностью с использованием
Теперь перезагрузите рабочее пространство и выполните чистую сборку.
источник
Эта ошибка появилась у меня после того, как я запустил
pod install
команду для новых зависимостей. Наряду с этим также был установлен React. Поэтому, вероятно, Xcode был перепутан с path. Я удалил эти строки из PodFile, и ошибка исчезла. Обратите внимание, что удаленные отсюда уже связаны в Xcode.источник
Для меня эта ошибка возникла, когда я добавил новую схему / цель ( app.staging ) в приложение и установил модули с помощью установки модуля.
Эта проблема возникает из-за того, что модули не используются для всех целей. Поэтому мне нужно добавить недавно добавленную цель ( app.staging ) внутри Podfile .
Вот мой подфайл.
источник
Я получаю эту ошибку в любом новом модуле, созданном с помощью create-react-native-module . Ни одно из опубликованных решений не помогло мне.
Что сработало для меня, так это сначала убедиться, что запускается
yarn
во вновь созданной папке модуля, чтобы создатьnode_modules/
(этот шаг, вероятно, очевиден). Затем в XCode выберите Product -> Scheme -> React вместо выбора MyModuleName по умолчанию.источник
pod install
. create-react-native-module, похоже, не делает этого за вас. Я повесил трубку на время. Но у меня это сработало, как только я создал действительный подфайл и запустил установку.Перейдите в папку iOS в своем проекте и установите pod -
Если вы получаете какую-либо ошибку при установке команды pod type -
Результат должен быть - /Applications/Xcode.app/Contents/Developer
Если путь неверен, откройте свой проект iOS в Xcode и перейдите в: Xcode-> настройки-> инструменты командной строки-> выберите Xcode
И снова установите модуль, и ваша проблема будет исправлена.
источник
Предложение anhdevit в https://github.com/facebook/react-native/issues/24363#issuecomment-488547280 сработало для меня:
In your terminal, run: defaults delete com.apple.dt.Xcode
источник
Если вы хотите сделать это из своего редактора, также откройте SMobile.xcscheme
И изменить
parallelizeBuildables = "NO"
источник
Для меня не сработало ни одно из вышеперечисленных решений, а ниже - то, что сработало (я уже проверил
Parallelize Build
и добавилReact
)источник
Я столкнулся с этой проблемой при обновлении с 0.58.4 до новой версии 0.60.4. Ничего из того, что я нашел в Интернете, мне не помогло, но мне удалось заставить его работать:
Перейдите в настройки сборки, найдите «Пути поиска заголовков», выберите запись, нажмите кнопку УДАЛИТЬ.
У меня эти значения были переопределены, и похоже, что после удаления они вернулись к значениям по умолчанию. Также Cocoapods жаловался на это сообщениями в Терминале после
pod install
:источник
Я столкнулся с этой проблемой после того, как
react-native link
написал руководство по зависимости, которая не поддерживала автоматическую ссылку на RN 0.59+.Решение заключалось в том, чтобы выбрать файл xcodeproj в папке Libraries в Xcode, а затем в настройках сборки изменить пути поиска заголовков, чтобы добавить эти два (рекурсивные):
источник
Если вы хотите, чтобы Parallelise Build оставался включенным и избегал проблем с отсутствующими заголовками, укажите в своей схеме этап предварительной сборки, чтобы поместить заголовки реакции в область производных данных. Обратите внимание, что в этом случае настройки сборки берутся из проекта React. Да, в этом нет ничего прекрасного, но он выполняет свою работу, а также экономит много времени на сборках. Выходные данные шага предварительной сборки попадают в файл prebuild.log. Точные заголовки, которые вам нужно скопировать, будут зависеть от зависимостей вашего проекта, связанных с реакцией, но вы получите jist из этого.
Получите каталог производных данных из переменных среды и скопируйте необходимые заголовки реакции.
Сценарий действительно вызывается во время очистки сборки, что не идеально. В моем случае есть одна переменная env, которая изменяется, что позволяет мне выйти из скрипта раньше во время очистки.
источник
Вам просто нужно установить pod, если файл pod существует, просто введите
если нет: так сначала,
затем,
в терминале. и вам хорошо идти.
источник
Что вы можете сделать, чтобы сделать это правильно:
1)
npm uninstall reat-native-fs
удалить библиотеку2)
npm unlink react-native-fs
отключить библиотекуТеперь библиотека успешно удалена, и теперь снова установите ее в свой проект и на этот раз свяжите все вручную. Иногда автоматическое связывание вызывает эту ошибку.
источник