2016-04-16 31 views
0

サーバーからデータを取得するために、私は迅速なアプリケーションでAlamofireを使用したいと考えています。しかし、私がAlamofireを通してリクエストを送信するとき、常にエラーを投げます。しかし、NSUrlSessionをデフォルトの設定で使用している場合は動作しています。Alamofire HTTPS要求が失敗しました

私はthis解決策を試してみましたが、それでもその、私は以下

let headers = [ 
     "Authorization": validationHeader 
    ] 

    let completeUrl = kReserveBaseURL + strMyResURL 
    Alamofire.request(.GET, completeUrl, headers: headers) 
     .response { request, response, data, error in 
      debugPrint(error) 
      debugPrint(response) 
    } 

を使用しています

コードを働いていない私はあなたがしているように見えます

Some : Error Domain=NSURLErrorDomain Code=-1202 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “abc.xyz.com” which could put your confidential information at risk." UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef: 0x7ff0c22052d0>, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9813, NSErrorPeerCertificateChainKey=<CFArray 0x7ff0c044b840 [0x10996ba40]>{type = immutable, count = 2, values = (
    0 : <cert(0x7ff0c22044c0) s: abc.xyz.com i: Verizon Public SureServer EV SSL CA G14-SHA2> 
    1 : <cert(0x7ff0c2204770) s: Verizon Public SureServer EV SSL CA G14-SHA2 i: Cybertrust Global Root> 
)}, NSUnderlyingError=0x7ff0c2302070 {Error Domain=kCFErrorDomainCFNetwork Code=-1202 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, kCFStreamPropertySSLPeerTrust=<SecTrustRef: 0x7ff0c22052d0>, _kCFNetworkCFStreamSSLErrorOriginalValue=-9813, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9813, kCFStreamPropertySSLPeerCertificates=<CFArray 0x7ff0c044b840 [0x10996ba40]>{type = immutable, count = 2, values = (
    0 : <cert(0x7ff0c22044c0) s: abc.xyz.com i: Verizon Public SureServer EV SSL CA G14-SHA2> 
    1 : <cert(0x7ff0c2204770) s: Verizon Public SureServer EV SSL CA G14-SHA2 i: Cybertrust Global Root> 
)}}}, NSLocalizedDescription=The certificate for this server is invalid. You might be connecting to a server that is pretending to be “abc.xyz.com” which could put your confidential information at risk., NSErrorFailingURLKey=https://abc.xyz.com/Api/CheckIn/GetData?userId=0&BookingDate=2016-04-16, NSErrorFailingURLStringKey=https://abc.xyz.com/Api/CheckIn/GetData?userId=0&BookingDate=2016-04-16, NSErrorClientCertificateStateKey=0} 
+0

リクエストにヒットするコードスニペットが表示されますか? –

答えて

0

を得ている問題がありますiOSセキュリティ制限(SSLレベルのUntrusterサーバー証明書)のためにこのエラーが発生しました。私は、あなたのアプリのInfo.plistにセキュリティ例外を追加することで、このトラブルシューティングを行うことをお勧めします:

<key>NSAppTransportSecurity</key> 
<dict> 
    <!--Include to allow all connections (DANGER)--> 
    <key>NSAllowsArbitraryLoads</key> 
<true/> 
</dict> 

ソースへのリンク: https://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/

あなたは、それ以上のエラーを観察してはいけません、これを追加した後。それが助け場合

、あなたはこれを使用してdepper把握することができます:あなたに

https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html?hl=sw

Especialy関連セクションは次のようになりますので、

0

その "をATSの接続の問題を診断するnscurlツールを使用して"セキュリティ制限のinfo.plistに、これらの2つのコメントを追加してください。see this image

関連する問題