React Native 项目的 Xcode 存档失败 – “运行自定义 shell 脚本‘捆绑 React Native 代码和图像’”

问题描述 投票:0回答:1

我正在开发一个 React Native 项目,在 Xcode 中构建该项目时工作正常,将应用程序发布到应用程序商店,但存档失败并出现以下错误:

Command PhaseScriptExecution failed with a nonzero exit code

此错误发生在“运行自定义 shell 脚本‘捆绑 React Native 代码和图像’”阶段。

详情:

  • Xcode 版本:16.0 (16A242d)
  • 节点版本
    /opt/homebrew/bin/node
    (来自
    which node
    的输出)
  • React Native 版本:0.74.3
  • macOS 版本:15.0.1 (24A348)

构建阶段脚本:

这是当前处于“捆绑 React Native 代码和图像”阶段的脚本:

set -e

WITH_ENVIRONMENT="$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh"
REACT_NATIVE_XCODE="$REACT_NATIVE_PATH/scripts/react-native-xcode.sh"

/bin/sh -c "$WITH_ENVIRONMENT $REACT_NATIVE_XCODE"

我尝试过的:

  1. 检查

    with-environment.sh
    中是否存在
    react-native-xcode.sh
    node_modules/react-native/scripts
    scripts
    文件夹丢失

  2. 使用

    node_modules
    npm install
    重新安装
    yarn install
    – 没有变化。

  3. 验证回显时

    $REACT_NATIVE_PATH
    为空。

  4. 更新了脚本以直接使用:

    export NODE_BINARY=/opt/homebrew/bin/node
    ../node_modules/react-native/scripts/react-native-xcode.sh
    

    – 这并没有解决问题。

  5. 清理了 Xcode 中的构建文件夹并删除了

    DerivedData

  6. 跑到

    pod install --repo-update
    目录下
    ios

附加信息:

  • 错误仅发生在存档过程中,而不是在常规构建过程中。
  • 我检查了特定版本的文档,找不到明确的解决方案。

问题:

  • 有人遇到过
    scripts
    中缺少
    node_modules/react-native
    文件夹的问题吗?
  • 是否有已知的修复或解决方法可以使存档步骤成功?

任何帮助或指示将不胜感激!

我尝试了 GPT 建议的多种解决方案,但遗憾的是没有任何解决方案:(

很多其他 stackoverflow 答案都建议进行此修复,但默认情况下这已经在我的代码中修复了:

更新所有生成的 ...-frameworks.sh 文件以将 -f 标志添加到对 readlink 的调用中。换句话说,需要更换:

source="$(readlink "${source}")"

source="$(readlink -f "${source}")"

react-native xcode16
1个回答
0
投票

我也遇到了同样的错误,这是实际调试问题的方法

  • 识别失败的脚本阶段,在我的例子中是“捆绑 React Native 代码和图像。”
  • 展开错误日志以查看详细步骤。 (点击脚本阶段右侧的汉堡菜单) List item
  • 向下滚动以找到具体的错误消息。

就我而言,这是错误:无法解析模块../../../../assets/icons/BullseyeIcon

修复代码中任何丢失的资产或不正确的路径,尝试再次存档项目 祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.