Swift 2.3プロジェクトですべてのリクエストを記録するためにNSURLProtocolを使用しようとしました。ただし、すべてのURL要求が記録されているわけではありません。特に、Alamofireの要求はすべて記録されていません。Swift - Macアプリケーションですべてのリクエストを記録する
サンプルコード
class AppDelegate: NSObject, NSApplicationDelegate{
func applicationDidFinishLaunching(aNotification: NSNotification) {
NSURLProtocol.registerClass(TestURLProtocol)
Alamofire.request(.GET, SomeURL).responseSwiftyJSON({ (request, response, json, error) in })
}
}
class TestURLProtocol: NSURLProtocol {
override class func canInitWithRequest(request: NSURLRequest) -> Bool {
print("request \(request.URL!)") // never called
return false
}
}
このレスポンスのメソッドを使用しようとしましたが動作しませんでした。 http://stackoverflow.com/a/28720198/1449607 – datinc
ええ、セッションマネージャーに設定を注入してから、それを 'Alamofire.request'の代わりに使用する必要があります – Alistra
私はサードパーティのサービスも監視しようとしています。私は彼らのコードの変更なしにそれらの要求を監視することができるソリューションを探しています。 – datinc