Как справиться с "CFNetwork SSLHandshake fail" в iOS

Иногда я получаю CFNetwork SSLHandshake failed -(9806) в моем коде, но я не уверен, почему это происходит, так как мой код работает без сбоев, за исключением случаев, когда я запускаю его в iOS 6, а затем в iOS 7 64-bit, я получаю это предупреждение.
Кто-нибудь может подсказать мне, как справиться с этой проблемой?

5 ответов

Решение

Обычно, когда я получаю CFNetwork SSLHandshake failed -(*) Это из-за моей локальной сети Wi-Fi (устройство подключено к сети, но не к Интернету)

Попробуйте еще раз в другой сети (3G - самое быстрое решение для меня)

Это также может произойти из-за iOS 9. iOS 9 и OSX 10.11 требуют TLSv1.2 SSL для всех хостов, с которых вы планируете запрашивать данные, если вы не укажете домены исключений в файле Info.plist своего приложения.

Вы можете найти больше информации здесь: https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/

Или ответ Стивена Петерсона здесь, который совершенно ясен: /questions/28415737/cfnetwork-sslhandshake-ne-udalos-ios-9/28415749#28415749

Возникла та же проблема, и после того, как я подтвердил, что сервер получает POST, решение было следующим:

  • Очистить проект: Продукт -> Очистить
  • Удалите приложение с устройства iOS /iOS Simulator и выйдите из Simulator
  • Скомпилируйте ваше приложение и запустите его

В моем случае все просто.

У меня была такая же проблема, и в моем случае решение было то, что в моем коде я написал

initWithScheme:@"https"

вместо

initWithScheme:@"http"

Поэтому убедитесь, что вы используете правильный протокол

Другое решение: проверьте, правильно ли установлены дата / время в вашем телефоне. SSL-сертификаты действительны до определенной даты.

https://superuser.com/a/760211

Другие вопросы по тегам