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 不兼容
Flutter 构建在 iOS 上失败,但在 android 上工作