我的客户端设备上出现了一个奇怪的崩溃。 有谁知道这可能意味着什么?
设备正在运行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
答案 0 :(得分:1)
对于那些可能会发现自己的人来说,我找到了问题。实际上还有另外两个奇怪的堆栈跟踪也与同一个问题有关。
基本上,如果您尝试使用自定义键盘,但在键盘中使用带有另一个视图控制器的容器视图,则会发生“怪异的东西”。我发现如果我的键盘可见并导航并再次返回,我能够让我的应用程序崩溃。
无论如何,一旦我将键盘重写为基本的UIView而不是UIViewController,崩溃就消失了。自改变以来,测试只用了一个小时左右,但我确信这是问题所在。