iOS崩溃:在键盘上敲击地球仪以转到表情符号键盘会导致崩溃

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS崩溃:在键盘上敲击地球仪以转到表情符号键盘会导致崩溃相关的知识,希望对你有一定的参考价值。

The Issue

点击uitextfield时会显示键盘。键盘出现后,它可以正常工作。除了表情符号键盘,我可以将键盘更改为基本上任何键盘。每次尝试切换到表情符号键盘时,它都会崩溃。

这是崩溃日志

2019-02-13 17:19:01.775380-0500 xxxxxxxx[56054:2366411] libMobileGestalt MobileGestalt.c:1645: Could not retrieve region info
2019-02-13 17:19:01.775648-0500 xxxxxxx56054:2366411] -[NSTaggedPointerString count]: unrecognized selector sent to instance 0xb424b425bd6497ae
2019-02-13 17:19:01.788405-0500 xxxxxxxx[56054:2366411] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSTaggedPointerString count]: unrecognized selector sent to instance 0xb424b425bd6497ae'
*** First throw call stack:
(
    0   CoreFoundation                      0x00000001126831bb __exceptionPreprocess + 331
    1   libobjc.A.dylib                     0x0000000111c21735 objc_exception_throw + 48
    2   CoreFoundation                      0x00000001126a1f44 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
    3   CoreFoundation                      0x0000000112687ed6 ___forwarding___ + 1446
    4   CoreFoundation                      0x0000000112689da8 _CF_forwarding_prep_0 + 120
    5   CoreFoundation                      0x00000001125b6d38 CFLocaleCopyDisplayNameForPropertyValue + 1000
答案

如果你使用类似UserDefaults.standard.set("en_US", forKey: "AppleLanguages")的东西,请确保设置一个数组,而不仅仅是一个字符串。你应该有UserDefaults.standard.set(["en_US"], forKey: "AppleLanguages")而不是。

如果你设置一个字符串,它可以使用NSLocale对象做奇怪的事情,有效地导致在依赖它的任何事情上崩溃。表情符号键盘是其中之一,因为所有角色都有一个本地化的替代名称,在运行时使用用户设备的区域设置抓取。

另外,建议不要使用语言设置,而是使用本地化工具,除非您认为您的用例非常具体。

另一答案

enter image description herecheck如果关闭“使用基础国际化”设置,将其打开并清理项目并运行。

以上是关于iOS崩溃:在键盘上敲击地球仪以转到表情符号键盘会导致崩溃的主要内容,如果未能解决你的问题,请参考以下文章

Ionic / Cordova / Phonegap:有没有办法在iOS和Android上禁用表情符号键盘?

如何获得 iOS 8.3 表情符号键盘高度?

如何禁用 iOS 8 表情符号键盘?

在iOS 9.0中以编程方式显示表情符号键盘

如何在其他设备上显示我的键盘扩展的表情符号

iOS 8 自定义键盘