Как использовать iOS Reachability

Я разрабатываю приложение для iPhone, которое использует сеть. iPhone связывается с моим сервером через HTTP-запрос и должен работать в сетях Wi-Fi и 3G.
В настоящее время я использую NSURLConnection initWithRequestдля отправки асинхронных запросов на мой сервер и получения ответов (но вскоре я перейду на работу с библиотекой ASIHTTPRequest)

Я понял, что с такими приложениями (приложения, требующие подключения к Интернету) Я должен (должен?) использовать Reachability.

После поиска в Интернете и просмотра примера кода Reachability от Apple я так и не понял некоторых основных моментов:

Каковы основные цели Reachability?

В примере Apple они обнаруживают сетевые проблемы с хостом, WiFi и 3G и представляют пользователю соответствующее сообщение.
Является ли это основной целью Reachability, чтобы показать пользователю сообщение? Или мне нужно использовать его для других более практических сценариев? Например, если запрос NSURLConnactionне удался, нужно ли мне как-то использовать Reachability для повторной отправки запроса?

Как правильно использовать Reachability?

Распространено ли использовать только одинэкземпляр при запуске приложения, а затем отслеживать изменения в сети? Или я должен сам проверять статус доступности перед каждым сетевым запросом?
Достаточно ли использовать reachabilityWithHostNameили мне также нужны reachabilityForLocalWiFiи reachabilityForInternetConnection?

Еще кое-чтоЯ так понял, что Apple может отклонять приложения, использующие сеть и не использующие доступность.
Какие методы "must" я должен реализовать?
Достаточно ли будет просто уведомить пользователя о том, что сейчас нет интернета?

35
задан Eyal 24 June 2012 в 12:24
поделиться