Alamofire 5 请求 ServerTrustEvaluating 问题

Evg*_*rov 3 ios swift alamofire

我升级到 Alamofire 5,现在在提出请求时遇到了问题:

“由于原因服务器信任评估失败:主机 demo.mXXme.com 需要 ServerTrustEvaluating 值,但没有找到。”

我DisabledEvaluator以这种方式设置我的经理:

let manager = Session(configuration: configuration, serverTrustManager: ServerTrustManager(evaluators: [ "demo.mXXme.com": DisabledEvaluator()]))
Run Code Online (Sandbox Code Playgroud)

据我所知,DisabledEvaluator应该禁用任何服务器信任检查。但我还是遇到了这个问题。

有没有人知道如何使我的请求有效?

提前致谢

Jon*_*ier 8

默认情况下,ServerTrustManager要求所有主机都必须对其信任进行评估。因此,如果您向 .s 中没有的域发出请求ServerTrustManager,则会产生此错误。这些主机字符串也区分大小写,因此如果域不完全匹配,它可能找不到匹配项。我建议先解决匹配问题,但您可以通过ServerTrustManager使用附加参数初始化您的所有主机来禁用所需的评估:

ServerTrustManager(allHostsMustBeEvaluated: false, 
                   evaluators: ["demo.mXXme.com": DisabledEvaluator()])
Run Code Online (Sandbox Code Playgroud)

但就像我说的,你应该先调查匹配问题。