Flutter 结合 iOS 开发出现 codesign 签名失败报错(target debug_unpack_ios failed)求助
Flutter 结合 iOS 开发出现 codesign 签名失败报错(target debug_unpack_ios failed)求助
兄弟我太懂你这个糟心的问题了!我之前升级完 macOS 14 和 Xcode 15 后,也碰到过一模一样的情况,先帮你理清楚当前的问题现状,再给你几个亲测有效的解决办法:
问题现状梳理
- 升级到 macOS 14 + Xcode 15 后,Flutter 项目运行时抛出报错:
Command CodeSign failed with a nonzero exit code - Android 模拟器上运行完全正常,没任何异常
- 用 Android Studio 跑 iOS 模拟器直接失败,但把项目拿到 Xcode 里打开运行模拟器却完全正常
- 试过网上流传的「打开钥匙串访问 > 登录 > 证书,删除所有苹果证书」的方法,但是没效果
亲测有效的解决步骤
方法1:调整 Flutter 项目的签名配置
直接在 Xcode 里搞定签名设置,步骤如下:
- 打开项目里的
ios/Runner.xcworkspace文件 - 选中 Runner 目标,切换到「Signing & Capabilities」标签
- 确认「Automatically manage signing」是勾选状态,并且正确选择了你的开发团队
- 再切换到「Build Settings」,搜索
CODE_SIGN_STYLE,确保它的值是Automatic - 回到 Android Studio,执行
flutter clean清理缓存,然后重新运行项目
方法2:重置 Xcode 的签名缓存
有时候 Xcode 的本地缓存会搞事情,执行这两条命令清理一下:
sudo rm -rf ~/Library/Developer/Xcode/DerivedData sudo rm -rf ~/Library/Caches/com.apple.dt.Xcode
清理完后记得重启 Xcode 和 Android Studio,再尝试运行项目
方法3:检查 Flutter 版本兼容性
Xcode 15 对 Flutter 版本有要求,得用支持它的版本(比如 3.13.0 及以上),可以用下面的命令查看和升级:
flutter --version flutter upgrade
如果上面的方法都试过还是不行,不妨重启一下你的 Mac,有时候系统深层缓存的问题,重启就能解决。另外也可以检查下钥匙串里的证书有没有过期的,只删掉过期的证书,然后从开发者后台重新下载安装最新的开发证书试试。
备注:内容来源于stack exchange,提问作者Yahya Abunada
相关产品推荐
相关产品推荐

