ios - iOS 应用程序崩溃 '[UIKBKeyplaneView setState:forKey:]'

标签 ios

我的一个客户的设备上出现了奇怪的崩溃。 有人知道这意味着什么吗?

设备运行 iOS 10.2

Application Specific Information:

objc_msgSend() selector name: setFrame:

Thread 0 Crashed:
0   libobjc.A.dylib                      0x0000000184696f68 objc_msgSend + 8
1   UIKit                                0x000000018bc0f4c4 -[UIKBKeyplaneView setState:forKey:] + 780
2   UIKit                                0x000000018bc07b90 -[UIKeyboardLayoutStar setKeyplaneName:] + 6948
3   UIKit                                0x000000018bcb3744 -[UIKeyboardLayoutStar completeSendStringActionForTouchDownWithKey:withActions:executionContext:] + 964
4   UIKit                                0x000000018c577150 -[UIKeyboardTaskExecutionContext returnExecutionToParentWithInfo:] + 268
5   UIKit                                0x000000018bcb1458 -[UIKeyboardLayoutStar touchDownWithKey:atPoint:executionContext:] + 2832
6   UIKit                                0x000000018c577150 -[UIKeyboardTaskExecutionContext returnExecutionToParentWithInfo:] + 268
7   UIKit                                0x000000018bcaf870 -[UIKeyboardLayoutStar touchDown:executionContext:] + 644
8   UIKit                                0x000000018bf3596c __47-[UIKeyboardLayout touchDownTaskForTouchState:]_block_invoke + 296
9   UIKit                                0x000000018bb25b14 -[UIKeyboardTaskQueue continueExecutionOnMainThread] + 380
10  UIKit                                0x000000018bf34bbc -[UIKBTouchOrderedTaskList executeTasksInView:withBlock:] + 264
11  UIKit                                0x000000018bf377fc -[UIKeyboardLayout _enumerateDeferredTouchUUIDs:withBlock:] + 392
12  UIKit                                0x000000018bf37d5c __97-[UIKeyboardLayout recognizer:beginTouchDownForTouchWithId:atPoint:forBeginState:whenStateReady:]_block_invoke + 148
13  libdispatch.dylib                    0x0000000184ad61bc _dispatch_client_callout + 12
14  libdispatch.dylib                    0x0000000184ae7084 _dispatch_barrier_sync_f_slow_invoke + 316
15  libdispatch.dylib                    0x0000000184ad61bc _dispatch_client_callout + 12
16  libdispatch.dylib                    0x0000000184adad68 _dispatch_main_queue_callback_4CF + 996
17  CoreFoundation                       0x0000000185bfa810 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 8
18  CoreFoundation                       0x0000000185bf83fc __CFRunLoopRun + 1656
19  CoreFoundation                       0x0000000185b262b8 CFRunLoopRunSpecific + 440
20  GraphicsServices                     0x00000001875da198 GSEventRunModal + 176
21  UIKit                                0x000000018bb667fc -[UIApplication _run] + 680
22  UIKit                                0x000000018bb61534 UIApplicationMain + 204
23  Manager                              0x0000000100165410 main (main.m:9)
24  libdyld.dylib                        0x0000000184b095b8 start + 0

最佳答案

好的,对于那些可能发现自己在这里的人,我发现了这个问题。事实上,还有 2 个其他奇怪的堆栈跟踪也与同一问题有关。

基本上,如果您尝试使用自定义键盘,但在键盘中使用容器 View 和另一个 View Controller ,那么就会发生“奇怪的事情”。我发现如果我让键盘可见并导航离开并再次返回,我能够让我的应用程序崩溃。

无论如何,一旦我将键盘重写为基本的 UIView 而不是 UIViewController,崩溃就消失了。自更改后才进行了大约一个小时的测试,但我确信这就是问题所在。

关于ios - iOS 应用程序崩溃 '[UIKBKeyplaneView setState:forKey:]',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42381778/

相关文章:

ios - 如何从另一个 View 中关闭 Popover?

ios - 在 iOS 应用程序中运行 R

ios - 允许用户在 UIImage 上绘制矩形,以裁剪图像

ios - Quickblox IOS sdk 是否支持以下所有选项?

ios - 在 iOS 中为 AVCaptureDevice 添加过饱和效果

ios - 带有快速下载按钮的视频播放器

ios - 调用 PerformSelector 的最佳方式 - iOS

ios - 第一次每次快速解析时对象 id nil

ios - Cocos2D + Box2D 编辑器?

ios - 使用 objectid 解析 ios wherekey