exception - NSObject(NSObject)didNotRecognizeSelector崩溃的应用程序,报告缺少某些符号

标签 exception ios7 nsobject

我有一个已在App Store中发布的应用程序。大约有1%-2%的用户报告该应用程序崩溃了。这不是完全意外的行为,因此我要求提供崩溃日志。这是最后一个异常回溯(实际显示问题的部分):

  Last Exception Backtrace:
    0   CoreFoundation                  0x2ecc5e7e __exceptionPreprocess + 126
    1   libobjc.A.dylib                 0x390226c2 objc_exception_throw + 34
    2   CoreFoundation                  0x2ecc97b2 -[NSObject(NSObject) doesNotRecognizeSelector:] + 198
    3   CoreFoundation                  0x2ecc80aa ___forwarding___ + 702
    4   CoreFoundation                  0x2ec16dc4 __forwarding_prep_0___ + 20
    5   MyAppName                           0x000874d0 0x6c000 + 111824
    6   UIKit                           0x3157c310 -[UITableView _createPreparedCellForGlobalRow:withIndexPath:] + 404
    7   UIKit                           0x315246c8 -[UITableView _updateVisibleCellsNow:] + 1796
    8   UIKit                           0x31523eec -[UITableView layoutSubviews] + 180


如您所见,问题出在第2行,NSObject(NSObject)didNotRecognizeSelector。

这告诉我正在发生什么,但显然不是在哪里或发生什么。因此,转到第5行,这是我的应用程序调用的未知方法。由于某种原因,这没有象征性。似乎此方法可能是导致此问题的原因。

每个报告(我现在大约有10个)都与此相同。知道如何看到正确的符号吗?谢谢!

最佳答案

我以前经历过这种崩溃。

在我所有情况下,这都是由于数据类型问题造成的。

例如,尝试在另一种数据类型上调用特定于一种数据类型的方法。



试图在字典上调用integerValue方法或试图在字符串上调用length方法,但从本质上讲,这是一个字典,因此与[NSObject didNotRecognizeSelector:]崩溃:

最好检查数据类型并在对象上调用方法以避免此类崩溃。

当我们调用API时,它很容易发生,因为有时API可能返回错误的数据类型或意外的响应。

关于exception - NSObject(NSObject)didNotRecognizeSelector崩溃的应用程序,报告缺少某些符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20478029/

相关文章:

python - 一旦进入 finally block ,如何确定是否引发了异常?

ios - UIAlertView 不解散?

ios - MKUserTrackingBarButtonItem 色调 IOS7 不起作用,但在 IOS 6 上起作用

java - 我该如何修复 'No exception of type SomeException can be thrown; an exception type must be a subclass of Throwable'

尝试运行 camus 时出现 java.lang.ClassNotFoundException

c# - 如何处理 ASP.NET 中的表单例份验证超时异常?

layout - 带有透明/模糊导航栏的 iOS 7 View Controller 布局问题

objective-c - `attemptRecovery(fromError:optionIndex:)` 在 NSDocument 的 Swift 子类的 super 上找不到

iphone - Interface Builder 的 'Class Actions' 面板中的 'Object Identity' 在哪里?

iphone - 如何识别一个对象被改变了?