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

swift – 有没有办法在自定义配置的NSURLSession中使用NSURLProtocol?,第1张

概述我有一个在后台队列中运行的NSURLSession.我将我的NSURLProtocol子类添加到NSURLsessionConfiguration.protocolClases但是覆盖类func canInitWithRequest(request:NSURLRequest) – >布尔永远不会被召唤. 这就是我添加NSURLProtocol的方式 let configuration = NSUR 我有一个在后台队列中运行的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.defaultconfiguration.protocolClasses = protocolClasses

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

总结

以上是内存溢出为你收集整理的swift – 有没有办法在自定义配置的NSURLSession中使用NSURLProtocol?全部内容,希望文章能够帮你解决swift – 有没有办法在自定义配置的NSURLSession中使用NSURLProtocol?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1043884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存