UITextField becomeFirstResponder随机崩溃iOS应用程序

我开发了一个应用程序,它有多个文本字段,文本字段的发光边框。 当我进行内部测试时,它一直工作正常,但我看到Fabric使用以下堆栈跟踪报告崩溃。 我错过了追踪此问题的内容吗? 谁能对这个问题有所了解?

Thread : Fatal Exception: NSInternalInconsistencyException 0 CoreFoundation 0x185de0f48 __exceptionPreprocess 1 libobjc.A.dylib 0x19a92ff80 objc_exception_throw 2 CoreFoundation 0x185de0e90 -[NSException initWithCoder:] 3 Foundation 0x186c85fb4 -[NSISEngine minimizeConstantInObjectiveRowWithHead:] 4 Foundation 0x186c85aa8 -[NSISEngine optimize] 5 Foundation 0x186c815dc -[NSISEngine withBehaviors:performModifications:] 6 UIKit 0x18b36e1d4 -[UIView(Hierarchy) _postMovedFromSuperview:] 7 UIKit 0x18b680834 __UIViewWasRemovedFromSuperview 8 UIKit 0x18b36cbf8 -[UIView(Hierarchy) removeFromSuperview] 9 UIKit 0x18b895e58 -[UIKeyboardPredictionView setPredictionViewState:animate:notify:] 10 UIKit 0x18b77f41c -[UIKeyboardImpl updatePredictionView] 11 UIKit 0x18b486c68 -[UIKeyboardImpl finishLayoutChangeWithArguments:] 12 UIKit 0x18b39ce8c -[UIKeyboardImpl updateLayout] 13 UIKit 0x18b3a1bd4 -[UIKeyboardImpl setDelegate:force:] 14 UIKit 0x18b39b0b8 -[UIPeripheralHost(UIKitInternal) _reloadInputViewsForResponder:] 15 UIKit 0x18b39abec -[UIResponder(UIResponderInputViewAdditions) reloadInputViews] 16 UIKit 0x18b3fc09c -[UIResponder becomeFirstResponder] 17 UIKit 0x18b3fc448 -[UIView(Hierarchy) becomeFirstResponder] 18 UIKit 0x18b483814 -[UITextField becomeFirstResponder] 19 MyApp 0x10012f6a4 -[FormattedField becomeFirstResponder] (GlowingTextField.m:139) 20 MyApp 0x100130190 -[GlowingTextField becomeFirstResponder] (GlowingTextField.m:271) 21 UIKit 0x18b5341a8 -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) setFirstResponderIfNecessary] 22 UIKit 0x18b53365c -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) oneFingerTap:] 23 UIKit 0x18b8ef330 _UIGestureRecognizerSendTargetActions 24 UIKit 0x18b518b5c _UIGestureRecognizerSendActions 25 UIKit 0x18b3a685c -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] 26 UIKit 0x18b8f070c ___UIGestureRecognizerUpdate_block_invoke898 27 UIKit 0x18b3658b8 _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks 28 UIKit 0x18b36263c _UIGestureRecognizerUpdate 29 UIKit 0x18b3a46cc -[UIWindow _sendGesturesForEvent:] 30 UIKit 0x18b3a3cc8 -[UIWindow sendEvent:] 31 UIKit 0x18b3744a4 -[UIApplication sendEvent:] 32 UIKit 0x18b37276c _UIApplicationHandleEventQueue 33 CoreFoundation 0x185d98544 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 34 CoreFoundation 0x185d97fd8 __CFRunLoopDoSources0 35 CoreFoundation 0x185d95cd8 __CFRunLoopRun 36 CoreFoundation 0x185cc4ca0 CFRunLoopRunSpecific 37 GraphicsServices 0x190d2c088 GSEventRunModal 38 UIKit 0x18b3dcffc UIApplicationMain 39 MyApp 0x1000599ec main (main.m:14) 40 libdyld.dylib 0x19b1728b8 start 

我之前遇到了同样的崩溃。原因是视图控制器已经发布且UIT​​extField.delegate未设置为nil,是一个悬空指针问题。 我在视图控制器的dealloc方法中设置了UITextField.delegate = nil,修复了错误。