setupNoneSelClassStringPrefixsArr该方法会导致某些发产生EXC_BREAKPOINT崩溃,
hj4859199 opened this issue · comments
noneSelClassPrefix 我在这个数组中添加了某些前缀的类,但是导致运行的时候某些类持续闪退,注释掉setupNoneSelClassStringPrefixsArr就不会崩溃了,请问这是什么原因?
你好,PrefixsArr数组里放了哪些字符串,麻烦贴出你的代码。
由于自带类的某些少数方法的调用是通过最后的转发补救的,所以AvoidCrash有时候会拦截了系统的默认做法,会导致误伤,所以可能会导致你所说的情况。你可以参考下面的链接。
同时,请贴出你的代码,给大家借鉴一下哪些情况会出现这样的问题,也方便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给你带来的困扰,在此表示抱歉。