Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Alamofire中的证书固定不起作用_Ios_Swift_Ssl_Ssl Certificate_Alamofire - Fatal编程技术网

Ios Alamofire中的证书固定不起作用

Ios Alamofire中的证书固定不起作用,ios,swift,ssl,ssl-certificate,alamofire,Ios,Swift,Ssl,Ssl Certificate,Alamofire,我已将.der证书添加到我的项目中,该证书由ServerTrustPolicy.certificatesInBundle()识别。我现在正在创建一个管理器,用于进行API调用: private class func manager() -> Alamofire.Manager { let certificates = ServerTrustPolicy.PinCertificates( certificates: ServerTrustPolicy.certific

我已将.der证书添加到我的项目中,该证书由
ServerTrustPolicy.certificatesInBundle()
识别。我现在正在创建一个管理器,用于进行API调用:

private class func manager() -> Alamofire.Manager {
    let certificates = ServerTrustPolicy.PinCertificates(
        certificates: ServerTrustPolicy.certificatesInBundle(),
        validateCertificateChain: true,
        validateHost: true
    )

    let serverTrustPolicies: [String: ServerTrustPolicy] = [
        "api.oursite.com": certificates
    ]

    let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()

    let manager = Alamofire.Manager(
        configuration: configuration,
        serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
    )

    return manager
}
在此之前,它只使用了
Alamofire.request(…
),这些请求工作得非常好,但现在每次调用都会给我一个错误:

Error-Domain=nsurerrordomain-code=-999“已取消”


我是否未正确设置管理器?可能是我的证书创建不正确,导致此操作不起作用?

请确保您的
管理器未在请求后的短时间内解除分配。例如,将其作为存储属性保存在自定义管理器类中