Flutter构建iOS项目卡在Compiling, linking and signing无报错如何解决
Flutter iOS构建卡在Compiling, linking and signing阶段解决方法
问题表现
调试运行Flutter iOS项目时,构建流程卡在Compiling, linking and signing...阶段无任何进展,即使用flutter run -v开启verbose详细日志,也没有可定位问题的堆栈输出,仅能看到如下日志:
Launching lib/main.dart on iPhone 13 Pro Max in debug mode... Running pod install... 11.6s Running Xcode build... └─Compiling, linking and signing...

解决步骤
按优先级从高到低尝试以下操作:
- 清理全链路缓存后重试
完全退出Xcode、模拟器、所有运行Flutter命令的终端窗口,在项目根目录依次执行以下命令:flutter clean cd ios rm -rf Pods Podfile.lock pod deintegrate pod install --repo-update cd .. flutter run - 直接通过Xcode触发构建获取真实报错
Flutter的命令行构建工具经常会吞掉Xcode在链接、签名阶段的具体错误提示,打开iOS目录下的Runner.xcworkspace文件,选中对应的调试模拟器/真机,按Command + B触发原生构建,Xcode会直接输出所有被Flutter CLI屏蔽的报错,常见的隐藏报错包括:签名证书过期、描述文件不匹配、三方库架构不兼容、Bitcode配置冲突、Info.plist必填字段缺失,根据Xcode给出的提示修复对应问题即可。 - 检查后台系统弹窗
打开macOS的「钥匙串访问」,查看是否有要求输入系统密码、允许代码签名工具访问证书的弹窗被遮挡在窗口后面,这类弹窗会直接阻断签名流程,且不会在Flutter日志里有任何提示,全部点击「始终允许」并输入密码确认后,卡住的构建流程会自动继续。 - M系列芯片Mac额外排查架构兼容问题
如果是M1/M2系列芯片的Mac,执行以下命令重装适配的ffi依赖,修复CocoaPods运行异常:sudo arch -x86_64 gem install ffi cd ios arch -x86_64 pod install --repo-update cd .. - 排查路径问题
检查当前项目的存放路径是否包含中文、空格、特殊emoji字符,这类路径会导致Xcode构建脚本执行异常卡住,将项目移动到全英文、无空格特殊字符的路径下再重试构建。 - 清理Xcode全局缓存
以上方案都无效时,删除~/Library/Developer/Xcode/DerivedData目录下所有和当前项目同名的缓存文件夹,重启Mac后再重新执行构建。
内容的提问来源于stack exchange,提问作者Gbenga B Ayannuga
相关产品推荐
相关产品推荐

