Android Studio部署Flutter iOS应用失败 Xcode可正常运行
问题修复方案
这个问题属于Android Studio Flutter插件调用Xcode 命令行构建链路的状态同步异常,和实际签名配置无关——既然能在Xcode里直接把应用跑到真机上,说明证书、描述文件、设备注册全是正常的。按以下步骤依次排查即可:
- 先解除真机的开发准备状态锁
日志里显示的设备繁忙、DMan进程正在为手表准备开发环境是核心诱因之一:Android Studio调用xcodebuild时不会主动等待Xcode的设备准备进程执行完成,只会直接读取当前可用设备列表,自然识别不到被锁的真机;手动打开Xcode时,Xcode会自动等待准备流程跑完再挂载设备,所以能正常运行。
操作步骤:- 完全退出Android Studio、Xcode,拔下真机重新连接Mac
- 单独打开Xcode,通过顶部菜单栏
Window > Devices and Simulators进入设备管理页,选中你的真机,等待页面顶部的「Preparing device for development」进度条完全走完,确认设备旁无黄色警告标识、状态显示为可用 - 打开活动监视器,搜索
DMan、CoreDevice、残留的xcodebuild进程,全部强制退出后再启动Android Studio
- 清理Flutter与IDE的链路缓存
新电脑首次配置环境时,Flutter插件会缓存首次扫描到的iOS工具链状态、设备列表,后续你在Xcode里修改签名配置、完成设备准备后,插件不会自动刷新缓存,就会出现签名缺失、设备找不到的误报。
操作步骤:- 在项目根目录执行以下命令清理构建缓存:
flutter clean flutter pub get rm -rf ios/Pods ios/Podfile.lock flutter precache --ios - 在Android Studio中选择
File > Invalidate Caches...,勾选清除缓存选项后重启IDE,等待IDE重新加载项目、扫描设备 - 重启后注意确认顶部设备选择下拉栏选中的是你的真机条目,不要误选「My Mac (Designed for iPhone/iPad)」的Mac端运行目标
- 在项目根目录执行以下命令清理构建缓存:
- 忽略无关警告
构建日志里的两条watchOS IDE扩展点未找到提示是Xcode 15及以上版本的通用无害警告,是Xcode自带watchOS调试扩展未加载完全导致的,和iOS应用构建失败没有关联,不需要额外处理。 - 校验本地配置覆盖项
检查项目根目录下的local.properties文件、ios/Runner.xcodeproj/project.pbxproj文件,确认没有手动写死错误的DEVELOPMENT_TEAM值、Bundle ID值——如果之前在其他设备上配置过写死的团队ID,会覆盖你在Xcode Signing面板里的配置,导致命令行构建时签名校验失败。所有构建模式下的DEVELOPMENT_TEAM值需要和你在Xcode Signing & Capabilities面板中选中的团队ID完全一致。
内容的提问来源于stack exchange,提问作者Damandroid
相关产品推荐
相关产品推荐

