Ответ 1
Короткий ответ от самой Apple (https://developer.apple.com/videos/play/wwdc2015/719/ в ~ 10: 30 - хотя я бы рекомендовал посмотреть видео полностью - или на наименее рассмотрите ключевые моменты здесь: http://www.internetsociety.org/deploy360/blog/2015/06/video-of-apple-wwdc-session-about-ipv6-and-ios-9-now-available-and-some-screenshots/):
Просто попробуйте соединение.
Скопируйте пасту из https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW25, которая повторяет это:
Подключить без предполета
API-интерфейсы Reachability (см. ссылку SCNetworkReachability Reference): предназначенные для диагностических целей после идентификации подключения вопрос. Многие приложения неправильно используют эти API для проактивного контроля подключение к Интернету, позвонив Метод SCNetworkReachabilityCreateWithAddress и передача его IPv4 адрес 0.0.0.0, что указывает на наличие маршрутизатора на сеть. Однако наличие маршрутизатора не гарантирует, что Интернет-соединение существует. В общем, избегайте предполетной сети достижимости. Просто попробуйте установить соединение и изящно обработать неудачи. Если вы должны проверить наличие сети, избегайте вызова метод SCNetworkReachabilityCreateWithAddress. Позвоните Метод SCNetworkReachabilityCreateWithName и передать ему имя хоста вместо этого.
Некоторые приложения также передают метод SCNetworkReachabilityCreateWithAddress адрес IPv4 169.254.0.0, самонастраиваемый локальный адрес ссылки, проверьте наличие активного Wi-Fi-соединения. Для проверки Wi-Fi или сотовой связи подключения, найдите флаг доступности сети Вместо этого kSCNetworkReachabilityFlagsIsWWAN.