物理设备(iPad)在 vs 代码中未检测到颤动,但在 Xcode 中检测到并正常调试

Posted

技术标签:

【中文标题】物理设备(iPad)在 vs 代码中未检测到颤动,但在 Xcode 中检测到并正常调试【英文标题】:Physical device (iPad) not detected in vs code for flutter but detected and working proper for debugging in Xcode 【发布时间】:2020-02-25 09:38:06 【问题描述】:

这是我的环境

Xcode 版本:11.1 (11A1027) 物理设备:- iPad mini 2 (ios 12.4.2) VSCode 版本:1.39.2 Flutter 版本:1.9.1+hotfix.6

当我使用 Flutter 项目的 iOS 部分并使用 XCode 运行它的物理设备时,它会检测到该设备并且工作正常,但我无法在 VSCode 的可用设备部分看到该设备。

但是 VSCode 可以检测到模拟器并可以正常工作。

我还运行flutter doctor 来查看连接的设备,但它再次没有显示连接的物理设备,而是显示了模拟器创建的设备。

【问题讨论】:

【参考方案1】:

我所要做的就是断开设备与笔记本电脑的连接,确保 VS Code 已打开,然后在没有 VS Code 时再次连接设备,然后它立即检测到并自动选择设备。

【讨论】:

【参考方案2】:

iPadOS / iOS 设备热重载设置

在尝试从 Vscode 在物理设备上进行调试之前,首先需要:

在该 iOS 或 iPadOS 设备上运行成功的 Xcode 构建

如果您不知道如何运行 Xcode Build,请按照以下步骤操作 -> Flutter 应该会检测到您的设备:

    打开 Xcode 并进行所有经典设置(使用团队登录并选择唯一的包标识符)

    将您的 iPhone 自动锁定设置为从不(并解锁!) - 使用 USB 数据线将您的 iPhone 或 iPad 连接到 Mac 并接受 iPhone 上的提示

    在您的 iPhone 上运行 Xcode Build 此警报提示将选择 Ok 在您的 iPhone 上会出现一个新菜单 - 导航到它并点击« 验证应用程序 » 或 « 接受 » 现在再次运行 Xcode Build - 如果没有运行,请尝试运行 flutter cleanflutter build ios 并再次尝试运行

    Xcode 构建成功后 - 停止运行应用程序 保持 Xcode 打开

iOS 设置完成

关闭所有模拟器或模拟器 - 关闭 VsCode

运行 flutter devices 以确保现在检测到您的设备

if it’s not try Turning it off & plugging it back again - remember to accept Trust Computer Prompt - keep it device unlocked too !

在 VsCode 或 android Studio 中打开您的项目

热重载⚡️使用 VsCode :

F8 或在 main.dart 中选择 ▷ « Start Debugging »

就是这样!您现在可以在物理设备上使用 VsCode 进行热重载⚡️!

使用终端命令热重载:

运行flutter run -d yourDeviceID

玩得开心!在终端中按 r 进行 HotReload⚡️

如果您需要查找您的 iOS 设备 ID:

选择Add Additional Simulators

Android Studio 上的热重载⚡️:

选择您的设备并运行

【讨论】:

【参考方案3】:

如果设备没有直接连接到计算机,有时它不会检测到设备。我中间有一个扩展坞,它无法识别该设备。尤其是在您刚刚更新了 macOS 之后。

【讨论】:

【参考方案4】:

使用rm -rf <flutter_repo_directory>/bin/cache强制删除缓存中的文件,然后flutter doctor -v重新安装丢失的sdk目录。

删除flutter/bin/cache目录中的缓存,然后重新安装dart sdk解决了这个问题。

参考 Flutter 存储库中的this 问题(问题编号:41006)。

【讨论】:

以上是关于物理设备(iPad)在 vs 代码中未检测到颤动,但在 Xcode 中检测到并正常调试的主要内容,如果未能解决你的问题,请参考以下文章

在可扩展浮动操作按钮中,在颤动中未检测到子小部件中的手势

iOS 13 版本的 XCUI 测试框架中未检测到 iOS Search Bar

在子类节点中未检测到冲突

在 ARkit 中未检测到 SceneKit 碰撞

无法使用真实设备在 vs 代码中运行颤振应用程序

在 Xcode 4.2 中未检测到具有 iOS 5.0.1 的设备