Tencent / QMUI_iOS

QMUI iOS——致力于提高项目 UI 开发效率的解决方案
http://qmuiteam.com/ios
Other
7.05k stars 1.37k forks source link

QMUITextView 输入表情符号导致项目崩溃 #1409

Closed a13377766460 closed 2 years ago

a13377766460 commented 2 years ago

Bug 表现 QMUITextView 输入表情符号导致项目崩溃

  1. 切换输入法 简体拼音
  2. 点击表情
  3. 选择任意表情符 Xcode控制台输出 +[QMUIStringPrivate(Safety) qmuisafety_NSString]_block_invoke_2:178 | QMUILogLevelWarn | QMUIStringSafety | 试图在 ComposedCharacterSequence 中间用 substringFromIndex: 裁剪字符串,可能导致乱码、crash。原字符串为“😞”(2),index 为 1,命中的 ComposedCharacterSequence range 为 {0, 2} 截图 截屏2022-06-17 17 38 41

如何重现

  1. 切换输入法 简体拼音(九宫格) IMG_2963

  2. 点击表情 IMG_2962

  3. 选择任意表情符 IMG_2964

预期的表现 能正常输入表情符

其他信息

MoLice commented 2 years ago

那是一个 QMUIAssert,不影响正式发布的 Release 包,只是在 Debug 里做个提示。如果不想影响 Debug,可以考虑把配置表里的 shouldPrintQMUIWarnLogToConsole = YES。

另外,系统输入法输入过程确实会触发这种告警,后续我们再考虑如何屏蔽系统场景。

cd-chen commented 1 year ago

那是一个QMUIAssert,不影响正式发布的Release包,只是在Debug里做一个提示。如果不想影响Debug,可以考虑把配置表里的shouldPrintQMUIWarnLogToConsole = YES。

另外,系统输入法输入过程序确实会发出这种警告,之后我们再考虑如何显示系统现场情况。

最新版本shouldPrintQMUIWarnLogToConsole = YES在Debug里还是会崩溃 @MoLice

rgmyyw commented 11 months ago

+1

Liuyoungs commented 9 months ago

+1