Im-Kevin / cool_ui

用flutter实现一些我认为好看的UI控件,有Popover,仿Weui的Toast,自定义键盘
Apache License 2.0
460 stars 74 forks source link

flutter 2.5 上报错,并且无法弹出键盘 #69

Closed pennyfine closed 3 years ago

pennyfine commented 3 years ago

keyboard_manager.dart 文件中的 setMockMessageHandler 方法找不到,改成 setMessageHandler 可编译通过,但运行起来后无法弹出键盘,异常信息入下: E/flutter (10446): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: PlatformException(error, No such TextInputType: CKNumberKeyboard, null, null) E/flutter (10446): #0 JSONMethodCodec.decodeEnvelope package:flutter/…/services/message_codecs.dart:155 E/flutter (10446): #1 MethodChannel._invokeMethod package:flutter/…/services/platform_channel.dart:156 E/flutter (10446): E/flutter (10446):

在线等待修复

Im-Kevin commented 3 years ago

目前来看,flutter在2.5版本删除了setMockMessageHandler,还需要点时间寻找替换方案

pennyfine commented 3 years ago

多谢版主回复,flutter 推荐用 tester 中的 defaultBinaryMessenger 的方法替代,但是这是不是不能在发布版本中使用吧 https://flutter.dev/docs/release/breaking-changes/mock-platform-channels

// old code ServicesBinding.defaultBinaryMessenger.setMockMessageHandler(...); ServicesBinding.defaultBinaryMessenger.checkMockMessageHandler(...); // new code tester.binding.defaultBinaryMessenger.setMockMessageHandler(...); tester.binding.defaultBinaryMessenger.checkMockMessageHandler(...);

Im-Kevin commented 3 years ago

是的,这个是在测试环境才能使用,我会重新整理TextField到Platform的整条线路,看看是否有其他的替换方案

pennyfine commented 3 years ago

多谢版主!!!

lionnner commented 3 years ago

+1

AlexTeamX commented 3 years ago

感谢作者的努力,目前在2.2静等更新

Im-Kevin commented 3 years ago

已更新1.1版本

Im-Kevin commented 3 years ago

请注意需要多做一个步骤,将runApp替换为runMockApp

Im-Kevin commented 3 years ago

具体请看文档