You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter开发中iOS模拟器软键盘不显示且Android Studio控制台报错

报错场景

在Android Studio中开发Flutter项目,调试iOS模拟器时,点击输入框后软键盘无法正常弹出,控制台同步输出如下错误日志:

[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: 'package:flutter/src/services/hardware_keyboard.dart': Failed assertion: line 790 pos 16: '(data.physical == 0 && data.logical == 0) ||
           (data.physical != 0 && data.logical != 0)': is not true.
问题根因

这是2.x到3.0.x版本区间Flutter SDK的已知缺陷,当iOS模拟器绑定了外部物理键盘时,Flutter的硬件键盘事件校验逻辑出现异常,既未识别到物理键盘输入源,也未触发软键盘唤起逻辑,最终触发断言校验失败。

修复方案
  • 临时手动唤起:在iOS模拟器顶部菜单栏依次选择 I/O > Keyboard > Toggle Software Keyboard ,即可手动调出软键盘,该配置单次调试生效,模拟器重启后需要重新操作。
  • 关闭物理键盘绑定:在iOS模拟器顶部菜单栏依次选择 I/O > Keyboard > Connect Hardware Keyboard ,取消该选项的勾选即可,后续模拟器所有输入场景默认唤起软键盘,不会再触发该报错。
  • 升级SDK永久修复:该缺陷已在3.3.0及以上稳定版Flutter SDK中修复,执行flutter upgrade命令升级到最新稳定版即可从根源解决问题,无需额外修改模拟器配置。

内容的提问来源于stack exchange,提问作者Tomas Ward

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 15:45:03