如何在 swift 5 alamofire 5.0.3 中使用 Alamofires ServerTrustPolicy.disableEvaluation

kjo*_*joe 16 ios swift alamofire

在 alamofire 4 中,我使用此代码禁用服务器评估:

private var Manager : Alamofire.Session = {
        // Create the server trust policies
        let serverTrustPolicies: [String: ServerTrustPolicy] = ["serverurl.com": .disableEvaluation]
        // Create custom manager
        let configuration = URLSessionConfiguration.default
        configuration.httpAdditionalHeaders = Alamofire.Session.defaultHTTPHeaders
        let man = Alamofire.Session(
            configuration: URLSessionConfiguration.default,
            serverTrustPolicyManager: ServerTrustManager(policies: serverTrustPolicies)
        )
        return man
    }()
Run Code Online (Sandbox Code Playgroud)

但是在带有swift 5 xcode 10.2的alamofire 5中不再工作,我收到了这个错误。

使用未声明的类型 'ServerTrustPolicy' 类型 'Session' 没有成员 'defaultHTTPHeaders'

但我找不到一种新的方法来使用 alamofire 5 进行这项工作。

Jon*_*ier 20

ServerTrustPolicy已被ServerTrustEvaluatingAlamofire 5 中的协议替换,并DisabledEvaluator替换了.disabled枚举大小写。要复制您之前的自定义设置:

private let session: Session = {
    let manager = ServerTrustManager(evaluators: ["serverurl.com": DisabledEvaluator()])
    let configuration = URLSessionConfiguration.af.default

    return Session(configuration: configuration, serverTrustManager: manager)
}()
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,增加 stackoverflow 点的好主意:) 只需创建一个神奇的库并更改 API,无需文档:) (13认同)