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

时间:2017-02-22 02:47:56

标签: 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

1 个答案:

答案 0 :(得分:1)

对于那些可能会发现自己的人来说,我找到了问题。实际上还有另外两个奇怪的堆栈跟踪也与同一个问题有关。

基本上,如果您尝试使用自定义键盘,但在键盘中使用带有另一个视图控制器的容器视图,则会发生“怪异的东西”。我发现如果我的键盘可见并导航并再次返回,我能够让我的应用程序崩溃。

无论如何,一旦我将键盘重写为基本的UIView而不是UIViewController,崩溃就消失了。自改变以来,测试只用了一个小时左右,但我确信这是问题所在。