Уведомление о доступности сети при изменении статуса обязательно на iPhone? - PullRequest
0 голосов
/ 04 мая 2011

Многие тестовые коды достижимости, кажется, включают в себя концепцию «уведомлять», поэтому, когда сеть снова включается, пользователь может получать уведомления.

  1. Нужно ли реализовывать часть «уведомления»?Допустимо ли оповещать пользователя всякий раз, когда он пытается что-то, что требует подключения к сети, а оно недоступно?(без уведомления при восстановлении соединения)

  2. Я вижу примеры кодов, относящиеся к чистой доступности сети (если устройство подключено к Wi-Fi, 3g и т. д.) и к доступности для определенного IP-адреса.,Мое приложение должно подключаться к конкретному IP-адресу, когда это необходимо.В этом сценарии достаточно просто предупредить, что этот ip недоступен в соответствующее время, и это все, что требуется, или мне нужно обрабатывать что-то большее? (Например, отправка различных сообщений для предупреждения пользователя о включении сети и предупреждения пользователя о том, что мой ip недостижимо)

Спасибо

Ответы [ 2 ]

7 голосов
/ 04 мая 2011

1.Я бы порекомендовал взглянуть на класс Reachability Эндрю Донохо, который является расширением образца, выпущенного Apple:

http://blog.ddg.com/?p=24

Это отвлечет от необходимости беспокоиться о работе суведомления и позволяют вам сосредоточиться на простом тестировании достижимости вашего IP или если активен определенный тип сети.

2.Что касается фактического уведомления пользователя, я бы сказал, что это зависит от вашего приложения.Например, на подавляющем большинстве экранов одного из моих приложений UIView пытается выполнить асинхронную загрузку данных из службы RESTful при загрузке этого представления.Я не делаю никаких тестов достижимости заранее, я просто пытаюсь сделать звонок, и если запрос не удается, я уведомляю пользователя после факта.Если у вас нет конкретного случая необходимости знать, что IP-адрес доступен, я думаю, что в общем случае обработка любых ошибок при попытках подключения должна быть достаточной.Я уверен, что есть много крайних случаев, хотя вы можете сначала проверить их достижимость.

С другой стороны, я использую достижимость на данном экране и рекомендую подключение по WiFi.Поскольку этот экран выполняет довольно интенсивную синхронизацию данных, я предупреждаю пользователя, если он находится в сети 3G, что синхронизация занимает немного больше времени, в то время как WiFi просто выполняет синхронизацию.

2 голосов
/ 04 мая 2011
  1. AFAIK, не требуется, чтобы вы выдавали уведомление, когда сеть стала доступной, или на самом деле, что вы на самом деле всплывающее уведомление, когда сеть недоступна.Вместо этого вы можете включить / отключить кнопки, связанные с сетью (если пользователь может знать, почему кнопки отключены), отобразить ненавязчивый экранный индикатор или что-то подобное.

    Важная часть заключается в том, что вы не делаетеотображать пустой экран или загадочное сообщение об ошибке, когда сеть недоступна, или иным образом оставлять пользователя интересующимся, почему что-то не работает.

  2. Я не знаю ни одного требования, чтобыВы различаете «сеть выключена» и «сеть включена, но IP-адрес недоступен».

...