加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 有没有办法在自定义配置的NSURLSession中使用NSURLProt

发布时间:2020-12-14 05:40:16 所属栏目:百科 来源:网络整理
导读:我有一个在后台队列中运行的NSURLSession.我将我的NSURLProtocol子类添加到NSURLsessionConfiguration.protocolClases但是覆盖类func canInitWithRequest(request:NSURLRequest) – 布尔永远不会被召唤. 这就是我添加NSURLProtocol的方式 let configuration
我有一个在后台队列中运行的NSURLSession.我将我的NSURLProtocol子类添加到NSURLsessionConfiguration.protocolClases但是覆盖类func canInitWithRequest(request:NSURLRequest) – >布尔永远不会被召唤.

这就是我添加NSURLProtocol的方式

let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.protocolClasses!.append(MockNetwork)
urlSession = NSURLSession(configuration: configuration,delegate: self,delegateQueue: operationQueue)

此外,我尝试使用不在后台运行的会话,但也没有工作:

let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.protocolClasses!.append(MockNetwork)
urlSession = NSURLSession(configuration: configuration)

由于这不起作用我只是尝试:

urlSession = NSURLSession.sharedSession()

并在我的AppDelegate中调用它

NSURLProtocol.registerClass(MockNetwork)

这确实有用,我做错了什么?!

花了几个小时试图找出为什么这不起作用我找到了做的方法.

代替:

configuration.protocolClasses?.append(MockNetwork.self)

做:

var protocolClasses = [AnyClass]()
protocolClasses.append(MockNetwork.self)

let configuration = URLSessionConfiguration.default
configuration.protocolClasses = protocolClasses

在那之后,所有工作都有效,而不是URLProtocol.registerClass(MockNetwork.self)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读