Closed hj4859199 closed 4 years ago
你好,PrefixsArr数组里放了哪些字符串,麻烦贴出你的代码。 由于自带类的某些少数方法的调用是通过最后的转发补救的,所以AvoidCrash有时候会拦截了系统的默认做法,会导致误伤,所以可能会导致你所说的情况。你可以参考下面的链接。
https://github.com/chenfanfang/AvoidCrash/issues/40
同时,请贴出你的代码,给大家借鉴一下哪些情况会出现这样的问题,也方便AvoidCrash进行改进,谢谢
下面是我在AppDelegate调用的方法 NSArray *noneSelClassPrefix = @[ @"IM", @"Project", @"Attend", @"Report", @"Labor", @"Quality", @"Contract", @"Bill" ]; [AvoidCrash setupNoneSelClassStringPrefixsArr:noneSelClassPrefix]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dealwithCrashMessage:) name:AvoidCrashNotification object:nil];
其中Attend对应的AttendanceSignInVC和AttendanceLocusDetailVC的两个类, Project对应的ProjectHomePageViewController类运行就会闪退,出现EXC_BREAKPOINT错误
@hj4859199 抱歉,目前AvoidCrash对 “unrecognized selector sent to instance”的兼容并不是非常完善,建议不要填入 UIKit中的类或者子类,也不要加入NSObject(可以加入继承于NSObject的子类)。
unrecognized selector sent to instance 一般用来对数据的处理比较多,建议直接使用如下代码(只针对数据的处理)
NSArray *noneSelClassStrings = @[ @"NSNull", @"NSNumber", @"NSString", @"NSDictionary", @"NSArray" ]; [AvoidCrash setupNoneSelClassStringsArr:noneSelClassStrings];
对于AvoidCrash给你带来的困扰,在此表示抱歉。
noneSelClassPrefix 我在这个数组中添加了某些前缀的类,但是导致运行的时候某些类持续闪退,注释掉setupNoneSelClassStringPrefixsArr就不会崩溃了,请问这是什么原因?