web-dev-qa-db-ja.com

iOSで「CFNetwork SSLHandshake failed」を処理する方法

コードでCFNetwork SSLHandshake failed -(9806)を取得することがありますが、コードがスムーズに実行されるので、なぜiOS 6で実行してからiOS 7 64ビットで実行するのかを除いて、これがなぜ起こるのかわかりませんこの警告が表示されます。
この問題の対処方法を教えてください。

45
Arun_

通常、CFNetwork SSLHandshake failed -(*)を取得するときは、ローカルのwifiネットワークが原因です(デバイスはネットワークに接続されていますが、 じゃない インターネット)

別のネットワークでもう一度試してください(3Gが最も速いソリューションです)

41
JoshK

IOS 9とOSX 10.11では、アプリのInfo.plistファイルで例外ドメインを指定しない限り、データを要求するすべてのホストにTLSv1.2 SSLが必要です。

詳細はこちらで確認できます: https://developer.Apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/

または、スティーブンピーターソンの答えはここにあります。これは非常に明確です。 https://stackoverflow.com/a/30720929/1485701

11
Antoine

同じ問題があり、サーバーがPOSTを取得していることを確認した後、ソリューションはこれでした:

  • プロジェクトのクリーン:製品->クリーン
  • IOSデバイス/ iOSシミュレーターからアプリを削除し、シミュレーターを終了します
  • アプリをコンパイルして実行する

私の場合、そのように簡単です。

6
OhadM

私は同じ問題を抱えていました、そして私の場合、解決策は私のコードで私が書いたことでした

initWithScheme:@"https"

の代わりに

initWithScheme:@"http"

必ず正しいプロトコルを使用してください

2
user1015777