I am facing a problem, I have a forgot password option in which I have placed a UIAlertView with input field.
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Forgot Password?"
message:@"Please enter your username to retrieve password"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Ok", nil];
[alertView setAlertViewStyle:UIAlertViewStylePlainTextInput];
[alertView show];
When the app is launched, it works fine, but when I login, do all kinds of stuff, sign out and press "Forgot password", I get this error and my app crashes:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'The layout constraints still need update after sending -updateConstraints to <_UIKeyboardLayoutAlignmentView: 0x7ffef5b37b00; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = >. _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.'
Here's the complete log:
*** First throw call stack:
(
0 CoreFoundation 0x000000010e850c65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010e4e9bb7 objc_exception_throw + 45
2 CoreFoundation 0x000000010e850b9d +[NSException raise:format:] + 205
3 UIKit 0x000000010f2c5427 -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 467
4 UIKit 0x000000010f2c553e -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 124
5 CoreFoundation 0x000000010e757354 CFArrayApplyFunction + 68
6 UIKit 0x000000010f2c52ed -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 153
7 UIKit 0x000000010f2c553e -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 124
8 CoreFoundation 0x000000010e757354 CFArrayApplyFunction + 68
9 UIKit 0x000000010f2c52ed -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 153
10 UIKit 0x000000010f2c553e -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 124
11 UIKit 0x000000010f2c5a0e __60-[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded]_block_invoke + 96
12 Foundation 0x000000010e0891be -[NSISEngine withBehaviors:performModifications:] + 155
13 UIKit 0x000000010f2c56d6 -[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded] + 231
14 UIKit 0x000000010f2b8ebe -[UIWindow(UIConstraintBasedLayout) updateConstraintsIfNeeded] + 91
15 UIKit 0x000000010f2c5dde -[UIView(AdditionalLayoutSupport) _updateConstraintsAtEngineLevelIfNeeded] + 146
16 UIKit 0x000000010ecbd56a -[UIView(Hierarchy) layoutBelowIfNeeded] + 340
17 UIKit 0x000000010f05245e -[_UIAlertControllerAnimatedTransitioning animateTransition:] + 672
18 UIKit 0x000000010ed57a4e __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 1867
19 UIKit 0x000000010ec6d62c _applyBlockToCFArrayCopiedToStack + 314
20 UIKit 0x000000010ec6d4a6 _afterCACommitHandler + 533
21 CoreFoundation 0x000000010e783ca7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
22 CoreFoundation 0x000000010e783c00 __CFRunLoopDoObservers + 368
23 CoreFoundation 0x000000010e779a33 __CFRunLoopRun + 1123
24 CoreFoundation 0x000000010e779366 CFRunLoopRunSpecific + 470
25 GraphicsServices 0x00000001126c9a3e GSEventRunModal + 161
26 UIKit 0x000000010ec49900 UIApplicationMain + 1282
27 Univet 0x000000010d83150f main + 111
28 libdyld.dylib 0x000000011017a145 start + 1
29 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
I am using IQKeyboardManager for navigation between text fields.
Please guide, your guidance will be appreciated.
Thank you in advance.
After a simple Google search I found the answer to your problem.
On iOS 8.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.