Skip to main content

Alamofire4系でtimeoutを設定する

[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB DB PRESS plus


Alamofireのリクエストにタイムアウトが設定されてないことに気づいた
そんなわけでやり方


・実装

var AFManager = SessionManager()
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 15
configuration.timeoutIntervalForResource = 15
AFManager = Alamofire.SessionManager(configuration: configuration)

さらにstackoverflowのコードが素晴らしくて
swiftだとグローバルに変数を置くことができる
なのでAppDelegate.swiftで以下を実装する
こうするとどこでもAFManagerが使える

var AFManager = SessionManager()
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
}

参考
https://stackoverflow.com/a/44948686

グローバル変数お行儀がよくないんだろうけど
このぐらいなら汚れても良いかなと思いました

関連記事:

Pocket