我在非常有限的情况下得到了中止,并且我正在尝试找出是什么语句或哪些语句导致了它。控制台显示:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSPathStore2 setDelegate:]: unrecognized selector sent to instance 0x1d50dcb0'
NSPathStore2 没有出现在我的代码中的任何位置,因此必须由我正在使用的某个框架调用。实例地址没有出现在其他任何地方,所以我不知道那是什么。
我尝试使用断点来捕获中止发生的时间,但随后就不再发生了。所以也许这是一个时间问题。我在其他帖子中读到 NSPathStore2 是 NSString 的一部分,因此我尝试将打印语句放在各种字符串语句周围,但这没有帮助。在developer.apple.com 中搜索NSPathStore2 没有找到任何内容。
我认为中止发生在 init 方法期间,但该方法很长,并且在完成之前会调用其他长方法。此外,它仅在运行 5 分钟的操作序列后并且仅在从 Xcode 全新安装后才会发生。如果我第二次运行该应用程序,它不会中止。因此,尝试找到它的来源非常耗时。
最佳答案
这是一个非常常见的症状,表明您有一个已释放的对象仍在某处使用。在调试方案中检查“启用僵尸对象”,并查找在已释放对象上调用方法的位置。
关于ios - 这个方法调用什么: [NSPathStore2 setDelegate:],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12829661/