该错误通常是由于在AFHTTPSessionManager和AFURLSessionManager实例之间混合使用共享NSURLSessionConfiguration引起的。解决方法是在进行SSL证书锁定时创建新的AFURLSessionManager实例,并使用一个自定义的NSURLSessionConfiguration而不是共享的一个。
以下是示例代码:
let pinnedCertificates: [SecCertificate] = ...
let serverTrustPolicy = ServerTrustPolicy.pinCertificates(
certificates: pinnedCertificates,
validateCertificateChain: true,
validateHost: true
)
let serverTrustPolicies = [
"example.com": serverTrustPolicy
]
let sessionManager = Session(
configuration: URLSessionConfiguration.af.default,
serverTrustManager: ServerTrustManager(policies: serverTrustPolicies)
)
sessionManager.request("https://example.com/api/path").responseJSON { response in
// Handle response
}
上一篇:AlamoFire5空响应解码
下一篇:Alamofire5中的“AFHTTPSessionManagerattemptsToRecreateUploadTasksForBackgroundSessions属性等价物是什么?”