问题描述
我开发了一个应用程序,它有多个文本字段,文本字段带有发光边框.当我进行内部测试时,它一直工作正常,但我看到 Fabric 正在使用以下堆栈跟踪报告崩溃.我是否遗漏了一些可以追踪此问题的内容?任何人都可以对这个问题有所了解吗?
I developed an app which had multiple text fields with the glow border for the text field. It has been working fine when I do an internal testing, but I see the Fabric is reporting the crash with the following stacktrace. Am I missing something to trace this issue? Can anybody give some light on this issue?
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
推荐答案
我之前也遇到过同样的崩溃.原因是视图控制器已经释放并且 UITextField.delegate 没有设置 nil,是一个悬空指针问题.我在视图控制器的 dealloc 方法中设置了 UITextField.delegate = nil,修复了错误.
I got the same crash before.And the reason was the view controller has released and the UITextField.delegate is not setting nil,was a Dangling pointer issue. And i set UITextField.delegate = nil in dealloc method of the view controller,bug fixed.
这篇关于UITextField becomeFirstResponder 随机崩溃 iOS 应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!