Xcode 14.3打包Flutter应用遇Archive禁用及PhaseScriptExecution错误求助
Flutter应用Xcode 14.3归档问题及钥匙串功能修复方案
一、解决Archive功能被禁用的问题
- 检查Scheme配置:确保当前选中的是你的Flutter主工程Scheme,不是Pods或子工程;点Scheme下拉菜单选「Edit Scheme」,确认Archive的Build Configuration是Release(Debug模式下Archive会被禁用)。
- 核对签名设置:打开Xcode的
Runnertarget →Signing & Capabilities,确认已选正确的开发者账号,「Automatically manage signing」已勾选,或手动配置了匹配的Provisioning Profile。 - 切换设备选项:不要选模拟器,必须选「Any iOS Device (arm64)」或真实iOS设备,模拟器环境下Archive功能默认禁用。
二、修复"PhaseScriptExecution failed with a nonzero exit code"构建错误
这个问题大多和Flutter脚本权限、依赖兼容有关,试试这些操作:
- 重置全量构建缓存:终端依次执行:
之后重启Xcode再尝试构建。flutter clean cd ios pod deintegrate pod install cd .. flutter pub get - 修复脚本权限:终端执行
chmod +x ios/Runner/flutter_export_environment.sh,给Flutter的环境导出脚本添加可执行权限。 - 检查Build Phases脚本:打开
Runnertarget的Build Phases,确认「Run Script」阶段的Flutter默认脚本未被篡改;如果有自定义脚本,先注释掉测试是否是其导致的问题。 - 升级依赖版本:终端执行
flutter upgrade升级到Flutter稳定版,执行sudo gem install cocoapods更新CocoaPods,避免版本兼容冲突。
三、启用钥匙串访问「登录」的锁定与重新解锁功能
- 打开钥匙串访问,选中「登录」钥匙串,点击顶部菜单栏「钥匙串访问」→「设置钥匙串“登录”的设置」(或右键「登录」钥匙串选「设置钥匙串设置」)。
- 在弹出窗口中,取消勾选「锁定后自动解锁」(如果已勾选),再勾选「显示状态在菜单栏」,关闭窗口后重新打开,锁定/解锁选项应该就能正常使用了。
- 若以上无效,尝试重置默认钥匙串:打开「系统设置」→「隐私与安全性」→「密码与钥匙串」,点击「重置默认钥匙串」,之后重新登录开发者账号配置签名。
内容的提问来源于stack exchange,提问作者Taimoor Sikander
相关产品推荐
相关产品推荐

