2017-02-22 166 views
0

我的客户端设备上出现了一个奇怪的崩溃。 任何人都知道这可能意味着什么?iOS应用程序崩溃[UIKBKeyplaneView setState:forKey:]'

该设备运行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

确定了那些可能在这里找到自己的人,我发现这个问题。事实上,还有另外两个奇怪的堆栈跟踪也与相同的问题有关。

基本上,如果您尝试使用自定义键盘,但在键盘上使用另一个视图控制器的容器视图,那么会发生'怪事'。我发现我能够让我的应用程序崩溃,如果我的键盘可见并导航离开又回来。

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