カテゴリー別アーカイブ: swift

[swift] AFHTTPSessionManagerのエラー時にresponseのbodyを取得する


どーも、最近iOSのアプリ開発をswiftで始めた初心者です。

AFNetworkingのAFHTTPSessionManagerでHTTPリクエストを行った時に、エラー時のresponse bodyを取得する方法が見つからなくてハマった。
結果的に下のようにすれば取得できた。。

1
2
3
4
5
6
7
8
manager.POST("/path", parameters: parameters,
    success: { (sessionDataTask: NSURLSessionDataTask!, responseObject: AnyObject!) -> Void in
        // success
    }, failure: { (sessionDataTask: NSURLSessionDataTask!, error: NSError!) -> Void in
        let response = sessionDataTask.response as! NSHTTPURLResponse
        let responseBody = error.userInfo?[AFNetworkingOperationFailingURLResponseDataErrorKey] as! NSData
    }
)

errorのuserInfoに一定のキーで入っていたとか、、

関係ないけど、このブログで使ってるCodeColorerというコードシンタックスハイライトのプラグインが、4年前から更新停止しているのでswiftのハイライトが出来ない・・
変えたいっ。