如何在Swift 5 Alamofire 5.0.3中使用Alamofire的ServerTrustPolicy.disableEvaluation?

18

在 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
    }()

但是,在alamofire 5和swift 5的xcode 10.2中,它不再起作用了,我得到了以下错误。

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

但是,我找不到一种新的方法来使它与alamofire 5一起工作。


你解决过这个问题吗?我现在也遇到了同样的问题。@kjoe - SuperHanz98
使用nop操作码,舍弃Alomofire并改用NSUrlRequest,感觉非常满意。我认为不再使用AF了,因为它会无限延迟。 - Yoel Jimenez del valle
1个回答

24

ServerTrustPolicy在Alamofire 5中已被协议ServerTrustEvaluating所取代,DisabledEvaluator替换了.disabled枚举情况。若要复制以前的自定义设置:

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

    return Session(configuration: configuration, serverTrustManager: manager)
}()

16
顺便说一下,增加stackoverflow分数的想法不错 :) 只需创建一个神奇库并更改API而不编写文档即可 :) - Vyacheslav
现在我使用你的答案出现了“未解决的标识符'URLConfiguration'”错误。 - Yoel Jimenez del valle
@kjoe 导入基础框架 - MFAL
非常感谢@Jon Shier。 - NaveedUlHassan5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接