zsa*_*ank 11 crash debugging ios
我收到了以下针对我的应用的崩溃报告.关于如何调试这样的事情的任何想法?
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x417d37f6
Thread 0: Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x39048b26 objc_msgSend + 5
1 UIKit 0x310643ed +[UICalloutBar fadeSharedCalloutBarIfNeededForTouchInView:window:] + 80
2 UIKit 0x31064365 -[UITouchesEvent _dismissSharedCalloutBarIfNeeded] + 228
3 UIKit 0x3102cf87 _UIApplicationHandleEventQueue + 7070
4 CoreFoundation 0x2e882183 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
5 CoreFoundation 0x2e881653 __CFRunLoopDoSources0 + 206
6 CoreFoundation 0x2e87fe47 __CFRunLoopRun + 622
7 CoreFoundation 0x2e7eac27 CFRunLoopRunSpecific + 522
8 CoreFoundation 0x2e7eaa0b CFRunLoopRunInMode + 106
9 GraphicsServices 0x334de283 GSEventRunModal + 138
10 UIKit 0x3108e049 UIApplicationMain + 1136
11 App 0x000d441f main (main.m:6)
Run Code Online (Sandbox Code Playgroud)
我不在代码中的任何地方使用UICalloutBar.它似乎发生在一系列设备上,但仅限于iOS7,并且总是在应用程序集中时.
我已经看过了,但它并没有真正帮助:什么是UICalloutBarButton,为什么它会让我的应用程序崩溃?
我提出这个建议的依据是,您遇到了与触摸相关的崩溃,也与用户界面的取消有关,并且您的客户处于生产版本中,因此没有机会专门检测系统来深入研究问题。
我建议使用您的应用程序并记下触摸事件导致对话框、菜单或弹出窗口被关闭的所有位置。然后找出哪些其他触摸事件可以产生相同的效果,以及哪些触摸事件被监听但逻辑上不符合您期望用户执行的操作。
例如,对于弹出窗口,您通常触摸弹出窗口的菜单项,它就会消失。但是,再次按弹出窗口标题(将其关闭),或按弹出窗口外部(这意味着关闭弹出窗口)怎么样?
另一个例子是用户需要在菜单中做出选择,但他们可以按下后退按钮来回滚。您可能不会以这种方式使用系统,但用户可能会在这些地方按下。
最后,如果您进行用户界面自动化,您可以尝试猴子测试。也就是说,编写一个脚本(或下载一个开源实现),随机点击屏幕。让它在您的应用程序上运行,看看它会产生什么结果——通常它会在即使是强大的应用程序中也会发现触摸问题。
| 归档时间: |
|
| 查看次数: |
1330 次 |
| 最近记录: |