Alamofire-使用未声明类型的“ ServerTrustPolicy”吗?

时间:2019-07-12 14:22:59

标签: swift alamofire nsurlsession

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

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

但是,我遇到了错误:

Use of undeclared type 'ServerTrustPolicy'

(是的,我已经导入了Alamofire)

Alamofire是否已取消或更改了此内容?

2 个答案:

答案 0 :(得分:1)

是的,Alamofire似乎已对此进行了更改,因此文档似乎已过时:

  

以前的ServerTrustPolicy枚举已重构为实现ServerTrustEvaluating的类

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

您的解决方案将取决于您使用的Alamofire版本。当然,在4.6.0或更低版本中,这不会影响您,因此您似乎在使用较新的版本。

在最新的master分支(代表5.0.0-beta7版本)中,您正在寻找的等效代码似乎是evaluators property on ServerTrustManager,并且可以使用提供的DefaultTrustEvaluator class for the ServerTrustEvaluating objects。如果需要高级用法,则同一文件中还有其他几个评估程序。

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

答案 1 :(得分:0)

您应该在源文件的顶部import Alamofire