更改 AlamoFire 配置
Posted
技术标签:
【中文标题】更改 AlamoFire 配置【英文标题】:Changing AlamoFire Config 【发布时间】:2016-08-31 04:51:26 【问题描述】:在我的项目使用的一个类中,有一个 var 来存储 alamofire 管理器:
var alamoManager: Manager!
在应用程序中重复调用一个方法来配置这个管理器,如下所示:
func configAlamoManager()
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.timeoutIntervalForRequest = 20
//ETC
alamoManager = Alamofire.Manager(configuration: configuration)
我的应用中有一个 HTTP 调用偶尔会返回一个 999 canceled
错误代码。我怀疑这是因为当前尝试执行请求的管理器被configAlamoManager()
方法中的另一个管理器替换。有什么方法可以在不创建新实例的情况下更改管理器中的配置设置? alamoManager.session.configuration
没有二传手。对此的任何指示将不胜感激!谢谢
【问题讨论】:
任何解决方案? 【参考方案1】:您应该覆盖实际NSURLRequest
中的配置,而不是更改配置并创建新的Manager
。
let urlRequest = NSURLRequest(url: url)
urlRequest.timeoutInterval = 20
Alamofire.request(urlRequest).responseJSON response in
debugPrint(response)
有关您可以使用 NSURLRequest
覆盖的内容的更多信息,我会查看 docs。
【讨论】:
以上是关于更改 AlamoFire 配置的主要内容,如果未能解决你的问题,请参考以下文章
更改 Alamofire.SessionManager 的 serverTrustPolicy 以仍然使用***便利方法,如 Alamofire.request