Я разрабатываю приложение для iPhone, использующее сеть. IPhone общается с моим сервером по HTTP-запросу и должен работать на WiFi и 3G.
В настоящее время я использую NSURLConnection initWithRequest
для отправки асинхронных запросов на мой сервер и получения ответов (но я скоро перейду к работе с библиотекой ASIHTTPRequest
)
Я понял, что с такими приложениями (приложениями, которые требуют подключения к интернету) я должен (должен?) использовать Reachability.
После поиска в Интернете и просмотра примера кода Apple Reachability я до сих пор не понимаю некоторые основные вещи:
Каковы основные цели достижимости?
В примере с яблоком они обнаруживают сетевые проблемы с хостом, WiFi и 3G и представляют пользователю соответствующее сообщение.
Является ли это главной целью "Доступность", чтобы показать пользователю сообщение?
Или мне нужно использовать его для других более практичных сценариев? Например, если запрос NSURLConnaction
завершился неудачно, мне нужно как-то использовать Reachability для повторной отправки запроса?
Какое правильное использование достижимости?
Обычно при запуске приложения используется только один, а затем слушать сетевые изменения? Или я должен проверить статус достижимости перед каждым сетевым запросом?
Достаточно ли использовать reachabilityWithHostName
или мне нужно также reachabilityForLocalWiFi
и reachabilityForInternetConnection
?
Еще одна вещь. Я понял, что яблоко может отклонять приложения, которые используют сеть, и не использовать Reachability.
Каковы методы must ", которые я должен реализовать?
Будет ли достаточно, чтобы просто уведомить пользователя о том, что в настоящее время нет Интернета?