如图所示,在上传过程中对网络进行了拦截和转发,但是在进度的代理方法中无法回调出去,
解决要求:
- 不能污染VC,也就是VC中不能添加任何代码,
- 可以创建新的工具类,可以对原有的非VC文件进行修改
- 要求是将结果回调到VC的系统方法中去
代码:该DEMO是在原有的gitdemo基础上添加了一些改动,把它的问题表现出来了,请在procotol中添加断点,不然会直接在vc中回调错误的结果
解决方案
1.hook config初始化方法,记录对象,消息转发可以解决该问题,但是存在一些问题
- 有些情况config方法不执行,hook是执行的
- 多个请求时容易发生错乱
- 证书使用该方式基本上不能处理
2.听云sdk 貌似解决了该问题,需要反编译解析其中的原理,在寻找,比较麻烦
3.期待更好的方案。。。
网友评论