Alamofire - 使用未声明的类型 'ServerTrustPolicy'?

Alamofire - Use of undeclared type 'ServerTrustPolicy'?

Github 上的官方 Alamofire 文档建议使用以下内容来禁用对 url 的评估。

let serverTrustPolicies: [String: ServerTrustPolicy] = [
    "blahblah.com": .disableEvaluation
]

但是,我遇到了错误:

Use of undeclared type 'ServerTrustPolicy'

(是的,我导入了Alamofire)

Alamofire 改变了吗?

是的,似乎 Alamofire 已经改变了这一点,所以文档似乎已经过时了:

The previous ServerTrustPolicy enum has be refactored into classes which implement ServerTrustEvaluating

参考:https://github.com/Alamofire/Alamofire/pull/2344

您的解决方案将取决于您使用的 Alamofire 版本。当然这不会影响你4.6.0或以下的版本,看来你使用的是更新的版本。

在最新的 master 分支(代表 5.0.0-beta7 版本)中,您正在寻找的等效代码似乎是 evaluators property on ServerTrustManager, and you can use the provided DefaultTrustEvaluator class for the ServerTrustEvaluating objects。如果您需要高级用法,同一文件中还有其他几个计算器。

相关源文件:https://github.com/Alamofire/Alamofire/blob/master/Source/ServerTrustEvaluation.swift