Udostępnij za pośrednictwem


rozwiązywanie problemów z React Native

Ważne

Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Chociaż możesz nadal używać programu Visual Studio App Center do momentu jego pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.

Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.

Nie można odnaleźć pliku FBSDKCoreKit/FBSDKCoreKit.h podczas kompilacji React Native

Ten błąd jest zwykle spowodowany tym, że zestaw SDK Facebook oczekuje, że jest on zainstalowany w katalogu głównym użytkownika, co może być problematyczne w przypadku hostowanych kompilacji. Aby obejść to wymaganie, wykonaj następujące kroki:

  1. Zaewidencjonuj zestaw FacebookSDK do repozytorium. Może ona przejść w dowolnym miejscu, ale poniższy skrypt zakłada, że jest dodawany do elementu <repo-root>/vendor/FacebookSDK.

  2. Dodaj skrypt preinstalacji npm do package.json:

"scripts": {
    ...
    "preinstall": "./npmpreinstall.sh"
}
  1. npmpreinstall.sh symlinks ~/Documents/FacebookSDK do repozytorium za pomocą następującego kodu:
#!/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. Utwórz npmpreinstall.sh plik wykonywalny:
chmod u+x npmpreinstall.sh

Moja kompilacja React Native kończy się niepowodzeniem z komunikatem "BŁĄD KRYTYCZNY: CALL_AND_RETRY_LAST Alokacja nie powiodła się — stertę javaScript z pamięci"

Problem można rozwiązać, przydzielając więcej pamięci za pomocą flagi --max-old-space-size .

W systemie Android dodaj następujące polecenie do pliku build.gradle projektu:

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

W systemie iOS w środowisku Xcode wybierz element docelowy i przejdź do karty Fazy kompilacji w sekcji Pakiet React Native kodu i obrazów dodaj flagę do skryptu powłoki:

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