3

最近我正在尝试使用崩溃报告提供的信息进行调试。到目前为止,我已经能够识别和修复一些错误,但不是这个。

正如我从崩溃报告中看到的,UIDictationController 有问题,但我的代码根本没有调用UIDictationController。崩溃报告由PLCrashReporter生成。

用户似乎正在使用 iPad Mini (WiFi) 并运行 iOS 6.0.2。

Incident Identifier: [REMOVED]
CrashReporter Key:   [REMOVED]
Hardware Model:      iPad2,5
Process:         MyApp [2849]
Path:            [REMOVED]
Identifier:      com.yourcompany.MyApp
Version:         1.1
Code Type:       ARM
Parent Process:  launchd [1]

Date/Time:       2013-01-26 02:11:01 +0000
OS Version:      iPhone OS 6.0.2 (10A550)
Report Version:  104

Exception Type:  SIGABRT
Exception Codes: #0 at 0x32255350
Crashed Thread:  0

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'

Last Exception Backtrace:
0   CoreFoundation                      0x3882e2a3 __exceptionPreprocess + 163
1   libobjc.A.dylib                     0x30d8897f objc_exception_throw + 31
2   CoreFoundation                      0x387788d9 -[__NSArrayM insertObject:atIndex:] + 769
3   UIKit                               0x36ad24c3 -[UIDictationMeterView initWithFrame:] + 267
4   UIKit                               0x36abe699 -[UIDictationView initWithFrame:] + 281
5   UIKit                               0x36abdcd1 +[UIDictationView sharedInstance] + 145
6   UIKit                               0x36aae7f5 -[UIDictationController setState:] + 149
7   UIKit                               0x36aaef5f -[UIDictationController setupForDictationStart] + 199
8   UIKit                               0x36aae5d7 -[UIDictationController startConnectionForReason:] + 51
9   UIKit                               0x36aaf173 -[UIDictationController startDictationFromLayout] + 55
10  UIKit                               0x36825c09 -[UIKeyboardLayoutStar touchUp:] + 5249
11  UIKit                               0x3682472f -[UIKeyboardLayout touchesEnded:withEvent:] + 387
12  UIKit                               0x3670c5f1 -[UIWindow _sendTouchesForEvent:] + 525
13  UIKit                               0x366f9801 -[UIApplication sendEvent:] + 381
14  UIKit                               0x366f911b _UIApplicationHandleEvent + 6155
15  GraphicsServices                    0x3771e5a3 _PurpleEventCallback + 591
16  GraphicsServices                    0x3771e1d3 PurpleEventCallback + 35
17  CoreFoundation                      0x38803173 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 35
18  CoreFoundation                      0x38803117 __CFRunLoopDoSource1 + 139
19  CoreFoundation                      0x38801f99 __CFRunLoopRun + 1385
20  CoreFoundation                      0x38774ebd CFRunLoopRunSpecific + 357
21  CoreFoundation                      0x38774d49 CFRunLoopRunInMode + 105
22  GraphicsServices                    0x3771d2eb GSEventRunModal + 75
23  UIKit                               0x3674d2f9 UIApplicationMain + 1121
24  MyApp                               0x000032e1 main (main.m:36)
25  MyApp                               0x00003230 start + 40


Thread 0 Crashed:
0   libsystem_kernel.dylib              0x30f10350 __pthread_kill + 8
1   libsystem_c.dylib                   0x304f8973 abort + 95
2   MyApp                               0x000e954f uncaught_exception_handler + 27
3   CoreFoundation                      0x3882e57f __handleUncaughtException + 615
4   libobjc.A.dylib                     0x30d88a65 _objc_terminate() + 129
5   libc++abi.dylib                     0x3719807b safe_handler_caller(void (*)()) + 79
6   libc++abi.dylib                     0x37198114 std::terminate() + 20
7   libc++abi.dylib                     0x37199599 __cxa_current_exception_type + 1
8   libobjc.A.dylib                     0x30d889d1 objc_exception_rethrow + 13
9   CoreFoundation                      0x38774f21 CFRunLoopRunSpecific + 457
10  CoreFoundation                      0x38774d49 CFRunLoopRunInMode + 105
11  GraphicsServices                    0x3771d2eb GSEventRunModal + 75
12  UIKit                               0x3674d2f9 UIApplicationMain + 1121
13  MyApp                               0x000032e1 main (main.m:36)

有什么办法可以解决这个错误吗?或者,至少可以缓解这个问题?提前致谢。

4

2 回答 2

1

问题是在您的应用程序的某个地方出现了一个键盘,并且在 iOS 版本 6.0.1 和 6.0.2 中,即使您没有指定启用它,苹果也启用了听写控制器。修复它的两种解决方案:创建没有它的自定义键盘或在您的应用程序中实现听写。

我的建议是顺其自然,只影响两个过时的 iOS 版本,希望随着用户升级他们的设备,崩溃会消失

于 2013-03-19T22:19:28.657 回答
0

我有一个自定义 TextView 的键盘,当用户按下听写按钮,说了些什么,按下完成,然后他们试图关闭键盘时,就会发生崩溃。可能这也是你正在经历的?

于 2014-01-03T14:47:37.323 回答