我在我的应用程序中有BugSense来检测和上传用户的崩溃报告。我得到以下崩溃,我无法追踪。有没有人能给我一些提示,告诉我怎样才能弄清楚这里发生了什么?
NSInternalInconsistencyException
<NSISEngine: 0x1659edd0>{ Rows: UILayoutContainerView:0x165731d0.Height{id: 78} ==
960 + 1*0x16593640:UIView-Encapsulated-Layout-Height.marker{id: 83} UILayoutContainerView:0x165731d0.Width{id: 75} ==
640 + 1*0x16593610:UIView-Encapsulated-Layout-Width.marker{id: 80} UINavigationTransitionView:0x165743e0.Height{id: 74} ==
960 + 2*0x165a3480.marker{id: 79} + 1*0x16593640:UIView-Encapsulated-Layout-Height.marker{id: 83} UINavigationTransitionView:0x165743e0.Width{id: 72} ==
640 + 2*0
0 CoreFoundation <redacted> + 130
1 libobjc.A.dylib objc_exception_throw + 38
2 CoreFoundation <redacted> + 0
3 Foundation <redacted> + 220
4 Foundation <redacted> + 174
5 Foundation <redacted> + 316
6 UIKit <redacted> + 200
7 UIKit <redacted> + 82
8 Foundation <redacted> + 210
9 UIKit <redacted> + 298
10 UIKit <redacted> + 1414
11 UIKit <redacted> + 36
12 UIKit <redacted> + 1332
13 UIKit <redacted> + 72
14 UIKit <redacted> + 728
15 UIKit <redacted> + 2614
16 UIKit <redacted> + 418
17 UIKit <redacted> + 44
18 UIKit <redacted> + 184
19 UIKit <redacted> + 380
20 QuartzCore <redacted> + 142
21 QuartzCore <redacted> + 350
22 QuartzCore <redacted> + 16
23 QuartzCore <redacted> + 230
24 QuartzCore <redacted> + 314
25 UIKit <redacted> + 8232
26 CoreFoundation <redacted> + 14
27 CoreFoundation <redacted> + 206
28 CoreFoundation <redacted> + 622
29 CoreFoundation CFRunLoopRunSpecific + 522
30 CoreFoundation CFRunLoopRunInMode + 106
31 GraphicsServices GSEventRunModal + 138
32 UIKit UIApplicationMain + 1136
33 Video Games main (main.m:16) + 874715
34 libdyld.dylib <redacted> + 2
根据Apple的文档:
NSInternalInconsistencyException
Name of an exception that occurs when an internal assertion fails and implies an unexpected condition within the called code.
Available in OS X v10.0 and later.
Declared in NSException.h.
你面临的崩溃可能有很多原因,我们只能指定如果你可以共享一些代码。
你在问题中提到的崩溃日志给了我们如下提示:
1)这似乎是一个自定义过渡动画的问题(如其他提到的)。
2)正如MaxGabriel的评论所述:
这听起来像一个自动布局问题(只是猜测,但我知道,当一个仿射变换是应用它的帧属性的值是未定义的。也许自动布局正在使用框架?为了测试这个理论,你可以删除转换,看看错误是否仍然发生。
3)如Daniel C的回答所述
当你在XCode之外重命名一些文件时,可能会发生这个错误。为了解决这个问题,你可以从你的项目中删除文件(右键单击-删除和"删除参考")。你重新导入项目中的文件,一切都会好起来的!
4)看看这个链接,可能会对你有所帮助。
5)从崩溃日志来看,似乎是iPhone4(4/4s)发生崩溃。
这个崩溃发生在ios7或更低版本吗?请提一下。它也将帮助我们找出崩溃的原因。
希望这些信息能帮助你。
正如其他人在评论中指出的那样,这似乎是自定义过渡动画的问题。我能从中得到的唯一其他信息是,它发生在3.5英寸的视网膜屏幕上。
这是在黑暗中摸索,但会不会有一些限制在3.5英寸的屏幕上无法满足?您可能还想检查是否存在与自定义约束相矛盾的自动调整遮罩约束(参见-[UIView translatesAutoresizingMasksIntoConstraints]
)。
要获得更多信息,您必须包含更详细的日志记录或自己复制崩溃。