从Alamofire配置会话管理器

时间:2017-09-14 14:18:29

标签: ios swift3 alamofire

我的应用程序中有一些请求使用HTTPS的REST服务,所以在我的AppDelegate中,我想从Alamofire配置一次Session Manager以使用ServerTrustPolicy。

我使用下面的代码,但是我必须在每个Alamofire请求之前使用相同的代码,现在我正在重构我的代码,并且我想知道如何配置会话管理器而不必更改snipet代码我使用 Alamofire.request

private static var Manager: Alamofire.SessionManager = {

// Create the server trust policies
let serverTrustPolicies: [String: ServerTrustPolicy] = [
   "https://www.example.com": .disableEvaluation
]

// Create custom manager
let configuration = URLSessionConfiguration.default
configuration.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
let manager = Alamofire.SessionManager(
configuration: URLSessionConfiguration.default,
serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
)

return manager
}()

修改

我尝试创建扩展程序,但没有用。

extension SessionManager {

    convenience init() {

        print("xxxxxx")

        let policies: [String: ServerTrustPolicy] = ["https://www.example.com.br": .disableEvaluation]

        let manager = ServerTrustPolicyManager(policies: policies)

        self.init(configuration: URLSessionConfiguration.default,
                  delegate: SessionDelegate(),
                  serverTrustPolicyManager: manager)
    }
}

0 个答案:

没有答案