Note that there are some explanatory texts on larger screens.

plurals
  1. POMethod Swizzle Crash: Vietnamese keyboard failing and crashing
    primarykey
    data
    text
    <p>EDIT: Prefixed the question with "Method Swizzle Crash" to help others find the bug.</p> <p>For each key pressed in the Vietnamese keyboard on the simulator or any device running iOS 4 or higher, the following message prints to the console and no character is sent to the first responder:</p> <pre><code>Can't find transliterator file: vi_TelexTransliterator utrans_transUChars error U_ILLEGAL_ARGUMENT_ERROR </code></pre> <p>There are no instances of these strings or substrings in my server or client code. This is coming from the API.</p> <p>Simulators and devices running iOS 4 will crash consistently on the second key press. There is no crash on iOS 5. The error at the top of the call stack looks like this:</p> <pre><code>*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFString substringToIndex:]: Range or index out of bounds' </code></pre> <p>The call stacks looks like this:</p> <pre><code>Foundation -[NSString substringToIndex:] TextInput -[TIKeyboardInputManagerZephyr internalIndexToExternal:] TextInput -[TIKeyboardInputManagerZephyr inputCount] UIKit -[UIKeyboardImpl addInputString:fromVariantKey:] UIKit -[UIKeyboardImpl handleStringInput:fromVariantKey:] UIKit -[UIKeyboardImpl handleKeyEvent:] UIKit -[UIApplication _handleKeyEvent:] UIKit -[UIResponder(Internal) _handleKeyEvent:] UIKit -[UIResponder(Internal) _handleKeyEvent:] UIKit -[UIResponder(Internal) _handleKeyEvent:] UIKit -[UIResponder(Internal) _handleKeyEvent:] UIKit -[UIResponder(Internal) _handleKeyEvent:] UIKit -[UIResponder(Internal) _handleKeyEvent:] UIKit -[UIResponder(Internal) _handleKeyEvent:] UIKit -[UIResponder(Internal) _handleKeyEvent:] UIKit -[UIResponder(Internal) _handleKeyEvent:] UIKit -[UIResponder(Internal) _handleKeyEvent:] UIKit -[UIApplication handleKeyEvent:] UIKit -[UIKeyboardLayoutStar sendStringAction:forKey:] UIKit -[UIKeyboardLayoutStar touchUp:] UIKit -[UIKeyboardLayout touchesEnded:withEvent:] UIKit -[UIWindow _sendTouchesForEvent:] UIKit -[UIWindow sendEvent:] UIKit -[UIApplication sendEvent:] UIKit _UIApplicationHandleEvent GraphicsServices PurpleEventCallback CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ CoreFoundation __CFRunLoopDoSource1 CoreFoundation __CFRunLoopRun CoreFoundation CFRunLoopRunSpecific CoreFoundation CFRunLoopRunInMode GraphicsServices GSEventRunModal GraphicsServices GSEventRun UIKit -[UIApplication _run] UIKit UIApplicationMain APP main (main.m:XXX) </code></pre> <p>I've tried this keyboard in a variety of locations throughout the application, including on a security screen before the main view is loaded and with all of our input handling methods commented out in its delegate. The failure is consistent. When the delegate methods are implemented and I step through textField:shouldChangeCharactersInRange:replacementString:, the string received is valid.</p> <p>Everything seems to indicate that this is an Apple problem, but I'm finding no other reports of the issue online. My gut says it's something in my code. Can anyone lend a hint?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload