2016-04-13 18 views
1

ServerTrustPolicy.certificatesInBundle()と認識されている.der証明書をプロジェクトに追加しました。私は今、その後、API呼び出しを行うために使用されたマネージャーを作成しています:この前Alamofireでの認証が機能しない

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=NSURLErrorDomain Code=-999 "cancelled"

は私が間違ってマネージャを設定するのですか?私の証明書が間違って作成された可能性があります。

答えて

2

お客様のmanagerは、リクエスト後に短時間で解約されないようにしてください。たとえば、カスタムのManagerクラスに格納されたプロパティとして作成します。

関連する問題