React Native故障排除

重要

Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。

详细了解支持时间线和替代方案。

我的React Native生成失败,出现“FBSDKCoreKit/FBSDKCoreKit.h”文件未找到

此错误通常是因为 Facebook SDK 要求将其安装在用户的主目录中,这可能会对托管生成造成问题。 若要解决此要求,请执行以下步骤:

  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代码和映像部分中,将 标志添加到 shell 脚本:

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