NSObject(NSObject)将NotRecognizeSelector崩溃的应用程序,报告缺少一些符号

时间:2013-12-09 18:35:33

标签: 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)会执行NotRecognizeSelector。

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

每一份报告(我现在大约有10份报告)与此相同。知道我怎么能看到正确的符号吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我以前曾经历过此类崩溃。

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

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

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

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

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