ZBNetworking
ZBNetworking copied to clipboard
在使用这个库的过程中经常会收到崩溃异常,一直没找到问题,大家有遇到过没
![image](https://user-images.githubusercontent.com/108110646/175456956-9fb0d2e4-f3a2-4fbf-9eba-44c4319b5d19.png)
![image](https://user-images.githubusercontent.com/108110646/175457033-de2db4ca-9f0d-41a6-895d-2add72fcec71.png)
从图上看,应该是timeoutInterval 触发了kvo崩溃,你也可以看下 公共配置或单次请求是否设置了timeoutInterval,如果没有可以 公共配置的timeoutInterval赋值看能否解决 @v4guoguo
![image](https://user-images.githubusercontent.com/108110646/181477475-97d7e7c6-bb33-42aa-bbb9-4dba3ae9bd9f.png)
setupBaseConfig 只启动时调用一次 会把这些配置 赋给ZBRequestEngine单例,ZBConfig销毁 也无所谓。这个我在看一下timeoutInterval的逻辑,如果有解决方案,我在来@你 @v4guoguo
调研了一番,没有复现。猜测,AF timeoutInterval多次添加和移除观察者,但添加和移除的次数不相同造成的异常。在不动AF代码的情况下,那只能不频繁给timeoutInterval赋值 解决了,AF本身的超时时间就是60秒和你的一样,你可以不用设置这个属性,搜索headersAndTimeConfig方法,把里面的 self.requestSerializer.timeoutInterval=request.timeoutInterval; 注释掉。
另外我注意到你在setupBaseConfig方法内 ,有token赋值,如果你的token是动态的 ,不要在setupBaseConfig内设置,setupBaseConfig是基础配置 ,只调用一次(除非你每次请求手动调用,不建议这么做)。 可以在setRequestProcessHandler方法内 进行Token配置,setRequestProcessHandler每次请求都会调用,具体参照demo内的RequestTool类 @v4guoguo