【发布时间】:2012-04-03 02:25:01
【问题描述】:
我最近收到了来自 iTunes Connect 的崩溃报告。实际上,这是我从成千上万的用户那里得到的唯一一份崩溃报告。这是一个 iPod4,1 设备。有趣的部分是:
Date/Time: 2012-02-27 22:53:27.596 +0800
OS Version: iPhone OS 5.0.1 (9A405)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0
Last Exception Backtrace:
0 CoreFoundation 0x338958bf __exceptionPreprocess + 163
1 libobjc.A.dylib 0x303891e5 objc_exception_throw + 33
2 UIKit 0x31259749 -[UIViewController mutableChildViewControllers] + 1
3 UIKit 0x31259349 -[UINavigationController pushViewController:animated:] + 37
4 MyApp 0x000081e5 -[MyListController tableView:didSelectRowAtIndexPath:] (MyListController.m:207)
5 UIKit 0x312d3565 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 945
6 UIKit 0x3134bce7 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 159
似乎在选择从表视图中的行时发生崩溃,并将新视图控制器推入导航。根据我的代码,新的视图控制器已经创建,所以崩溃发生在UINavigationController。
这看起来不像是我写的代码的错。我想知道我是否正确?如何调试这个问题?
【问题讨论】:
-
我正在探索一个相同的崩溃(iOS 5.1 除外),但到目前为止没有运气。
-
@Jason iPod 也会发生这种情况吗?我有另一个与低内存警告有关的崩溃报告也只在 iPod 上发生过一次。
-
在我的情况下它是一个 iPad...有没有找到任何解决方案?
-
从崩溃日志来看,问题似乎源于 myListViewController.m 中第 207 行的调用,显然在 tableView:didSelectRowAtIndexPath: 方法中。它很可能试图推送一个不再在内存中的视图控制器。您可以在 myListViewController 类中发布 tableView:didSelectRowAtIndexPath: 方法中的代码吗?
-
仅供参考,我觉得你的语气有点粗鲁;请考虑我正在尝试提供帮助。我的意思是:如果您将问题放入您的应用并发布更新,那么如果它再次发生,您将获得相关信息。
标签: objective-c ios xcode crash crash-reports