iOS 中的 Flutter 发布失败,errSecInternalComponent 命令 PhaseScriptExecution 失败,退出代码为非零

Posted

技术标签:

【中文标题】iOS 中的 Flutter 发布失败,errSecInternalComponent 命令 PhaseScriptExecution 失败,退出代码为非零【英文标题】:Flutter release in iOS fails, errSecInternalComponent Command PhaseScriptExecution failed with a nonzero exit code 【发布时间】:2021-06-01 11:49:12 【问题描述】:

我是 Flutter/ios 的新手。

我正在使用:

Flutter 1.22.6 • 通道稳定 • https://github.com/flutter/flutter.git 框架 • 修订版 9b2d32b605 • 2021-01-22 14:36:39 -0800 引擎 • 修订版 2f0af37152 工具 • Dart 2.10.5 和 Xcode 11.0

我正在尝试在 iOS 中发布一个颤振应用程序。 它可以使用 xcode 或命令行 (flutter run) 完美运行。但是当我执行 flutter build ios 或尝试 Product--> 存档(在 xcode 中)时。

我有一个错误:

警告:无法为签名者“Apple”构建自签名根的链 开发:Jhon Doe (65XXJY9XXX)" /Users/dev/Library/Developer/Xcode/DerivedData/Runner-cuuvcuiymjgpxmhlfvkgvijzzyls/Build/Intermediates.noindex/ArchiveIntermediates/Runner/InstallationBuildProductsLocation/Applications/Runner.app/Frameworks/App.framework/App: errSecInternalComponent 命令 PhaseScriptExecution 失败 非零退出代码

我尝试了很多方法来解决它,例如:Flutter Clean、pod install、Legacy Build、pod deintegrate、仅在安装时运行脚本(在 Build Pashes 中)、删除 derivedData 文件夹......没有成功。

有什么想法吗?请帮帮我,我卡住了。

谢谢。

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,我按照here 的建议解决了。我的情况是,我将参数从embed_and_thin 更改为embed。所以为了清楚起见,从

/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed_and_thin

/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed

这只是一种解决方法,直到您可以升级到最新版本(截至 2020 年 3 月 24 日的 2.0.3)。

【讨论】:

【参考方案2】:

要消除此错误,请按照下列步骤操作:

-从钥匙串中删除您的证书

-转到您的开发者帐户并撤销您的证书

-转到XCode->首选项->帐户->选择帐户->管理证书->单击(+)图标-> iOS开发

-重启你的电脑

-打开 XCode、清理构建和存档。

【讨论】:

以上是关于iOS 中的 Flutter 发布失败,errSecInternalComponent 命令 PhaseScriptExecution 失败,退出代码为非零的主要内容,如果未能解决你的问题,请参考以下文章

这个 Flutter 应用程序中的 Gradle 失败 AndroidX 不兼容

iOS 的 Flutter 构建失败

Flutter 构建在 iOS 上失败,但在 android 上工作

Flutter:无法在 codemagic 上为 ios 构建

Flutter:iOS 构建失败

Flutter - iOS 构建失败