How can I debug this crash in UIDictationController?

I am recently trying to debug information provided by Crash Reports. So far, I could identify and fix some bugs, but not this one.

As I read from the crash report, there is something wrong with the UIDictationController, but my code was not calling at all UIDictationController

. The crash report is generated by PLCrashReporter .

The user seems to be using an iPad Mini (WiFi) and running 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)

      

Is there a way that I can handle this error? Or at least mitigate the problem? Thanks in advance.

+3


source to share


2 answers


the problem is that somewhere in your app you have a keyboard, and as of iOS 6.0.1 and 6.0.2, apple has enabled the dictation controller even if you didn't specify it to be enabled. Two solutions to fix it: create a custom keyboard without it, or implement dictation in your application.



My suggestion is to just let this be, only affects the two legacy iOS versions and hopefully the crashes go away when users update their devices.

+1


source


I have a keyboard for a custom TextView, and when the user pressed the dictation button, said something, clicked finish and then they tried to remove the keyboard, it crashed. Perhaps this is what you are experiencing?



0


source







All Articles