React Nativeのトラブルシューティング
重要
Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。
'FBSDKCoreKit/FBSDKCoreKit.h' ファイルが見つからないというReact Nativeビルドが失敗する
このエラーは通常、Facebook SDK がユーザーのホーム ディレクトリにインストールされることを想定しているためです。これは、ホストされたビルドで問題になる可能性があります。 この要件を回避するには、次の手順に従います。
FacebookSDK をリポジトリにチェックインします。 任意の場所に移動できますが、次のスクリプトでは、 に
<repo-root>/vendor/FacebookSDK
追加されていることを前提としています。npm プレインストール スクリプトをpackage.jsonに追加します。
"scripts": {
...
"preinstall": "./npmpreinstall.sh"
}
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
- 実行可能ファイルを作成する
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"