我正在尝试实现本教程,该教程使用NSURLConnection实现自定义NSURLProtocol.
https://www.raywenderlich.com/76735/using-nsurlprotocol-swift
它按预期工作,但现在在iOS9中不推荐使用NSURLConnection,我试图将其转换为NSURLSession.
不幸的是,它没有用.
我正在uiwebview中加载一个网站,如果我使用NSURLConnection加载并且一切都按预期工作,则会捕获来自webview的所有http请求,但在使用NSURLSession时则不会.
任何帮助表示赞赏.
这是我的代码
import UIKit
class MyProtocol: NSURLProtocol, NSURLSessionDataDelegate, NSURLSessionTaskDelegate, NSURLSessionDelegate {
//var connection: NSURLConnection!
var mutableData: NSMutableData!
var response: NSURLResponse!
var dataSession: NSURLSessionDataTask!
override class func canInitWithRequest(request: NSURLRequest) -> Bool {
if NSURLProtocol.propertyForKey("MyURLProtocolHandledKey", inRequest: request) != nil {
return false
}
return true
}
override class func canonicalRequestForRequest(request: NSURLRequest) -> NSURLRequest {
return request
}
override class func requestIsCacheEquivalent(aRequest: NSURLRequest,
toRequest bRequest: NSURLRequest) -> Bool {
return super.requestIsCacheEquivalent(aRequest, toRequest:bRequest)
}
override func startLoading() {
let …Run Code Online (Sandbox Code Playgroud)