SSWKURL
SSWKURL copied to clipboard
Intercept Requests of WKWebView. WKWebView网络请求拦截.
问题:This task has already been stopped ,在线上bugly里面的上报逐渐多了起来。 场景:代码是之前的会判断canInit和block请求的版本。 第一个页面是原生入口、第二个页面(html要尽量要图片、JS或者CSS多)是wkwebview,把手机模拟弱网打开,快速重复操作,每次打开第二个页面的url不是一样,就会出现此问题。 修改: 1、去掉单例模式。 2、SSWKURL中新增销毁方法(获取session所有任务,并执行cancel方法和stop=YES)和stop属性。 3、SSWKURL 中request回调中先判断stop属性和task状态。 4、在第二个页面deinit中调用销毁方法。 这样修改之后,目前自己简单测试了一下,没有发现什么问题,下一步等测试回归之后就可以上线了。
大佬,请问是在主线程执行还是创建子线程?我看demo里先创建了子线程又获取主线程 - (dispatch_queue_t)queue { if (!_queue) { _queue = dispatch_queue_create("SSWKURLHandler.queue", DISPATCH_QUEUE_SERIAL); _queue = dispatch_get_main_queue(); } return _queue; } 
有时导致页面不能加载成功
get请求,页面加载失败。 没有找到原因,怀疑跟缓存的处理有关系。
 拦截网络请求时,刚开始可以正常运行,运行过程中此处报错,请问您是否遇到过此种情况

WkWebView加载使用了reloadIgnoringLocalAndRemoteCacheData缓存策略,h5用了http的缓存策略,但是用了这个拦截以后,缓存全没了,每次都是从新加载,无解啊
运行demo,什么都不操作就有几率闪退 "Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This task has already been stopped'"
如题,这个有人知道为什么吗?
线上环境的可行性
@修改handlesURLScheme的实现会造成其他衍生问题吗?作者有没有在公司的项目中采用这种方案 遇到一个失败场景 url切换成https://v.youku.com/v_show/id_XNDc1NDI5MzQ0OA==.html 就无法加载成功
现在我这边的场景是需要将拦截到的域名全部替换为ip去访问,但是我看里面是使用的NSSession,这里无法解决sni问题,请问有什么好的办法吗?