Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NSInteralInconsistencyException - UIKeyboardLayoutAlignmentView

Tags:

exception

ios

I am getting the follow crash in my reports but I don't have a clue as to where to start looking! - any help appreciated. I have no calls or reference to UIKeyboardLayoutAlignmentView

        Fatal Exception: NSInternalInconsistencyException         The layout constraints still need update after sending -updateConstraints         to <_UIKeyboardLayoutAlignmentView: 0x14df2550; frame = (0 0; 0 0);     userInteractionEnabled = NO; layer = <CALayer: 0x1603de90>>.  _UIKeyboardLayoutAlignmentView or one of its superclasses may         have overridden -updateConstraints without calling super.          Or, something may have dirtied layout constraints in the middle         of updating them. Both are programming errors. Thread : Crashed: com.apple.main-thread 0  libsystem_kernel.dylib         0x32d52df0 __pthread_kill + 8 1  libsystem_pthread.dylib        0x32dd1cc7 pthread_kill + 62 2  libsystem_c.dylib              0x32cee909 abort + 76 3  libc++abi.dylib                0x3201c9c9 __cxa_bad_cast 4  libc++abi.dylib                0x32036671 default_unexpected_handler() 5  libobjc.A.dylib                0x326fcf25 _objc_terminate() + 192 6  libc++abi.dylib                0x32033de3 std::__terminate(void (*)()) + 78 7  libc++abi.dylib                0x320338af __cxa_rethrow + 102 8  libobjc.A.dylib                0x326fcdd3 objc_exception_rethrow + 42 9  CoreFoundation                 0x240bf29d CFRunLoopRunSpecific + 632 10 CoreFoundation                 0x240bf013 CFRunLoopRunInMode + 106 11 GraphicsServices               0x2b99e201 GSEventRunModal + 136 12 UIKit                          0x27863a59 UIApplicationMain + 1440   Thread : Fatal Exception: NSInternalInconsistencyException 0  CoreFoundation                 0x241aefef __exceptionPreprocess + 126 1  libobjc.A.dylib                0x326fcc8b objc_exception_throw + 38 2  CoreFoundation                 0x241aef35 -[NSException initWithCoder:] 3  UIKit                          0x27e34dad -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 448 4  UIKit                          0x27e34ec3 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 126 5  CoreFoundation                 0x240bec6d CFArrayApplyFunction + 36 6  UIKit                          0x27e34c75 -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 136 7  UIKit                          0x27e34ec3 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 126 8  CoreFoundation                 0x240bec6d CFArrayApplyFunction + 36 9  UIKit                          0x27e34c75 -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 136 10 UIKit                          0x27e34ec3 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 126 11 UIKit                          0x278f0a39 __60-[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded]_block_invoke + 84 12 Foundation                     0x24e65755 -[NSISEngine withBehaviors:performModifications:] + 256 13 UIKit                          0x278f0813 -[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded] + 206 14 UIKit                          0x2790a663 -[UIWindow(UIConstraintBasedLayout) updateConstraintsIfNeeded] + 86 15 UIKit                          0x27e35159 -[UIView(AdditionalLayoutSupport) _updateConstraintsAtEngineLevelIfNeeded] + 172 16 UIKit                          0x27813d97 -[UIView(Hierarchy) layoutBelowIfNeeded] + 542 17 UIKit                          0x27c77a2b -[_UIAlertControllerAnimatedTransitioning animateTransition:] + 690 18 UIKit                          0x27adb08d __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 1820 19 UIKit                          0x2787ea91 _applyBlockToCFArrayCopiedToStack + 308 20 UIKit                          0x277f938f _afterCACommitHandler + 466 21 CoreFoundation                 0x24174fed __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20 22 CoreFoundation                 0x241726ab __CFRunLoopDoObservers + 278 23 CoreFoundation                 0x24172ab3 __CFRunLoopRun + 914 24 CoreFoundation                 0x240bf201 CFRunLoopRunSpecific + 476 25 CoreFoundation                 0x240bf013 CFRunLoopRunInMode + 106 26 GraphicsServices               0x2b99e201 GSEventRunModal + 136 27 UIKit                          0x27863a59 UIApplicationMain + 1440 
like image 487
Chris Avatar asked Apr 14 '15 21:04

Chris


1 Answers

Ok, problem found an fixed. On iOS8.3 if you the keyboard is being displayed and then you try to display a UIAlertView or UIAlertController that has an input field you will get this crash.

Simple solution (for me) was to insert

[self.window endEditing:YES];  

or

[self.view endEditing:YES]; 

in front of any alerts that do this and it no longer crashes

Update

In some cases I have also needed the following line (as outlined by Oren below), with the endEditing AND this line I have zero issues - but with one OR the other I have seen the odd crash which is weird - but the combo attack seems to work !

UITextField *txtEmail = [alertView textFieldAtIndex:0]; [txtEmail becomeFirstResponder]; 
like image 51
Chris Avatar answered Sep 17 '22 10:09

Chris