0

我的子类 UIWebView 有一个非常丑陋的问题,它维护用户与在线后端服务器的 Web 会话,当用户登录到特定服务时,它将与会话对象进行通信。有时,我的应用程序会在 GDC 的后台线程上运行数据更新服务,并使用 NSURLSessionDataTask 执行后端请求。

后台线程工作以某种方式破坏了由 UIWebView 维护的 Web 会话对象。在我的理解中,这意味着 NSHTTPCookieStorage 被破坏了……我并不完全清楚。

如果 UIWebView 维护的会话将与在任何其他线程中运行的 NSURLSessionDataTask 完成的任何其他请求共享,我认为这会有所帮助。

过去,我在 UIWebView 会话处于活动状态时抑制了对 NSURLSessionDataTask 的调用 - 但似乎在某些情况下,其中一个调用仍然通过。

不过我的问题是:如何与 NSURLSessionDataTask 活动共享 UIWebView 使用的相同会话空间?

不幸的是,由于这两种实现的复杂性,我无法提供示例代码……</p>

4

1 回答 1

0

看起来,[NSURLSessionConfiguration defaultSessionConfiguration]作为用于 NSURLSessionDataTask 的 Web 会话的调用会破坏 UIWebView 的数据……至少它在那时被损坏并且不再可用。

相反,使用[NSURLSessionConfiguration ephemeralSessionConfiguration]这个技巧并且 UIWebView 的数据保持完好无损。

于 2017-03-29T14:45:38.483 回答