バックグラウンド キューで実行される NSURLSession があります。NSURLProtocol
サブクラスをに追加していますNSURLsessionConfiguration.protocolClases
が、override class func canInitWithRequest(request: NSURLRequest) -> Bool
決して呼び出されません。
これが私が追加する方法です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)
これは機能しますが、何が間違っていますか?!