Устранение неполадок React Native

Важно!

Прекращение поддержки Центра приложений Visual Studio запланировано на 31 марта 2025 г. Хотя вы можете продолжать использовать Центр приложений Visual Studio до полного прекращения его использования, существует несколько рекомендуемых вариантов, на которые можно перейти.

Узнайте больше о сроках поддержки и альтернативных вариантах.

Сбой сборки React Native с ошибкой: "FBSDKCoreKit/FBSDKCoreKit.h" файл не найден

Эта ошибка обычно возникает из-за того, что пакет SDK для Facebook ожидает, что он установлен в домашнем каталоге пользователя, что может быть проблематично для размещенных сборок. Чтобы обойти это требование, выполните следующие действия.

  1. Запустите FacebookSDK в репозитории. Он может идти в любом месте, но в приведенном ниже сценарии предполагается, что он добавлен в <repo-root>/vendor/FacebookSDK.

  2. Добавьте скрипт предварительной настройки npm в package.json:

"scripts": {
    ...
    "preinstall": "./npmpreinstall.sh"
}
  1. npmpreinstall.sh указывает на репозиторий символические ~/Documents/FacebookSDK ссылки со следующим кодом:
#!/bin/sh
if [ ! -L ~/Documents/FacebookSDK ]; then
    echo 'Symlinking ~/Documents/FacebookSDK to Facebook SDK in repo'
    ln -s $(cd ./vendor/FacebookSDK; pwd) ~/Documents/FacebookSDK
fi
  1. Сделайте npmpreinstall.sh исполняемым файлом:
chmod u+x npmpreinstall.sh

Сборка React Native завершается сбоем с сообщением "НЕУСТРАНИМАЯ ОШИБКА: сбой выделения CALL_AND_RETRY_LAST — кучи JavaScript не хватает памяти"

Эту проблему можно устранить, выделив больше памяти с помощью флага --max-old-space-size .

В Android добавьте в файл проекта build.gradle следующее:

project.ext.react = [
    nodeExecutableAndArgs: ["node", "--max_old_space_size=8192"]
]

В iOS в Xcode выберите целевой объект и перейдите на вкладку Этапы сборки в разделе Пакет кода и изображений React Native добавьте флаг в скрипт оболочки:

export NODE_BINARY="'node --max_old_space_size=8192'
../node_modules/react-native/packager/react-native-xcode.sh"