iOS UICalloutBar 崩溃

标签 ios debugging crash

我的应用收到以下崩溃报告。关于如何调试这样的东西有什么想法吗?

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)

我没有在我的代码中的任何地方使用 UICalloutBar。它似乎发生在一系列设备上,但仅在 iOS7 中并且始终在应用程序处于焦点时发生。

我看过这个,但它并没有真正帮助:What is UICalloutBarButton, and why does it make my app crash?

最佳答案

我的建议基于以下事实:您遇到了与触摸相关的崩溃,也与用户界面的关闭有关,并且您的客户使用的是生产版本,因此没有机会专门检测系统来深入研究问题。

我建议使用您的应用程序并记下触摸事件导致对话框、菜单或弹出窗口被关闭的所有位置。然后找出哪些其他触摸事件可以产生相同的效果,以及哪些触摸事件被监听但逻辑上不符合您期望用户执行的操作。

例如,对于弹出框,您通常会触摸弹出框的菜单项,它会消失。但是再次按下弹出窗口标题(将其关闭)或按下弹出窗口外部(这意味着关闭弹出窗口)呢?

另一个例子是用户应该在菜单中做出选择,但是有一个返回按钮,他们可以按下返回按钮。您可能不会以这种方式使用系统,但用户可能会在这些地方按下。

最后,如果你做用户界面自动化,你可以试试猴子测试。也就是说,编写一个脚本(或下载一个开源实现),随机点击屏幕。让它在您的应用程序上运行,看看它能解决什么问题——通常即使是功能强大的应用程序,它也会发现触摸问题。

关于iOS UICalloutBar 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20857158/

相关文章:

ios - UIScrollView 内的 UITableView 高度错误

c++ - 查看内存窗口中的数据

'false' 连接可用时 iOS 应用程序崩溃

我的应用程序的 Android APK 下载不起作用,Xamarin.Android

ios - Swift 的对象属性观察器

ios - 每次按下按钮都会生成新的单元格

ios - Z 轴支持查看 UIView

debugging - 如何调试 tomcat LDAP 领域查询

javascript - 下划线模板在调试器中不起作用

ios - iOS 应用程序 Google 跟踪代码管理器实现随机崩溃