- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我的应用收到以下崩溃报告。关于如何调试这样的东西有什么想法吗?
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/
我的应用收到以下崩溃报告。关于如何调试这样的东西有什么想法吗? Crashed: com.apple.main-thread EXC_BAD_ACCESS KERN_INVALID_ADDRESS a
我是一名优秀的程序员,十分优秀!