gpt4 book ai didi

crash - 从 super 删除 View 时,iOS12.0.1上的应用程序崩溃

转载 作者:行者123 更新时间:2023-12-03 11:47:57 24 4
gpt4 key购买 nike

Date/Time: 2018-10-30 00:57:35 +0000 OS Version: iPhone OS 12.0.1 (16A404) Report Version: 104

Exception Type:  SIGSEGV
Exception Codes: SEGV_ACCERR at 0x10
Crashed Thread: 0

Thread 0 Crashed: 0 libobjc.A.dylib
0x00000001aa9f0d70 objc_msgSend + 16 1 Foundation
0x00000001ac3c7958 NSLayoutConstraintIsPotentiallyDanglyInContainer + 112 2 UIKitCore 0x00000001d8b78464 -[UIView+ 13431908 (AdditionalLayoutSupport) _snipDangliesWithForce:repairIfPossibleForViewThatMoved:newSuperview:oldSuperview:] + 424 3 UIKitCore 0x00000001d8b781c8 _UIViewRemoveConstraintsMadeDanglyByChangingSuperview + 1088 4 UIKitCore 0x00000001d8c19f54 __45-[UIView+ 14094164 (Hierarchy) _postMovedFromSuperview:]_block_invoke + 68 5
UIKitCore 0x00000001d8c19e74 -[UIView+ 14093940 (Hierarchy) _postMovedFromSuperview:] + 756 6 UIKitCore
0x00000001d8c17f38 __UIViewWasRemovedFromSuperview + 172 7 UIKitCore 0x00000001d8c17a18 -[UIView+ 14084632 (Hierarchy) removeFromSuperview] + 464



我收到了这样的崩溃,只有ios12.0.1

最佳答案

我的声誉还不够高,无法发表评论,但是我经历了同样的崩溃,该崩溃仅在iOS 12上开始发生。我向Apple提交了错误报告,因此希望很快得到解决。

基于堆栈跟踪,它在尝试清理悬空约束时会崩溃,因此您可以尝试的一种可能的解决方法是在删除 View 之前先删除所有约束。

extension UIView {
func removeAllConstraints() {
let superViewConstraints = superview?.constraints.filter{ $0.firstItem === self || $0.secondItem === self } ?? []

superview?.removeConstraints(superViewConstraints + constraints)
}
}

...然后在删除 View 之前,只需调用:
view.removeAllConstraints() 

我不是100%肯定会成功,因为我自己无法重现崩溃,我只看到它在我使用的崩溃分析服务中弹出。

关于crash - 从 super 删除 View 时,iOS12.0.1上的应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53059578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com