误删Runner文件夹恢复后Xcode无可用目标设备,且Android Studio与Xcode均无法运行应用
兄弟,我太懂你这种卡壳的烦躁了!误删Runner文件夹又恢复后,碰到设备选不了、IDE完全跑不起来的问题,确实挺闹心的。结合你已经试过的flutter clean、重启IDE和Mac都没用的情况,我给你整理几个针对性的排查方案,你挨个试试:
先确认Runner文件夹的完整性与权限
打开Xcode,右键项目里的Runner文件夹选择「Show in Finder」,检查里面的关键文件(比如Info.plist、Assets.xcassets、Runner.xcodeproj这些)是不是齐全。如果有缺失,要么从备份里找回,要么新建一个空白Flutter项目,把新项目里的对应文件拷贝过来补全。
另外还要检查权限:选中Runner文件夹右键「Get Info」,拉到「Sharing & Permissions」,确保当前用户拥有「Read & Write」权限。如果权限不对,点击右下角锁头解锁后调整,再勾选「Apply to enclosed items」把权限递归应用到所有子文件。重置Xcode的项目配置
- 关闭Xcode,删除项目根目录下的
ios/Pods文件夹和Podfile.lock文件; - 打开终端cd到项目的ios目录,执行
pod install重新安装依赖; - 重新打开Xcode,点击菜单栏「Product」→「Clean Build Folder」(快捷键Cmd+Shift+K)清理构建缓存;
- 要是还是不行,试试重置Xcode偏好:关闭Xcode后,终端执行
defaults delete com.apple.dt.Xcode,再重启Xcode重新配置。
- 关闭Xcode,删除项目根目录下的
Flutter侧的深度修复
除了flutter clean,还可以执行flutter pub cache repair修复Pub缓存的依赖损坏问题;
运行flutter doctor -v检查所有环境配置,看看有没有红叉或警告(比如Xcode命令行工具未安装、Android SDK缺失组件等),严格按照提示修复;
尝试新建一个空白Flutter项目,如果新项目能正常选择设备运行,那大概率是原项目的配置文件损坏了——可以把新项目里的ios/Runner文件夹替换掉原项目的(记得先备份原项目Runner里的自定义配置,比如图标、Info.plist里的自定义设置)。检查IDE的设备服务状态
对于Android Studio:打开「Tools」→「SDK Manager」,确保Android SDK Platform-Tools是最新版本;然后重启ADB服务,终端执行adb kill-server,再执行adb start-server;
对于模拟器:Android Studio里打开「AVD Manager」,删除现有模拟器重新创建;Xcode里打开「Window」→「Devices and Simulators」,如果列表里没有设备,点击左下角「+」新建一个模拟器试试。
备注:内容来源于stack exchange,提问作者Yousra Khaled

