@Alexsander, @Chris: Флаги достижимости дают вам понимание устройства доступных сетей. Это отличный способ определить, что что-то в сетевых подключениях устройства изменилось, так что вы можете «у меня, похоже, все еще есть подключение к WWAN, я должен попытаться снова подключиться к этому хосту» или «мне кажется, я потерял все подключения, я не должен» не пытайтесь повторить попытку прямо сейчас ". Однако этого недостаточно для того, чтобы вы могли делать такие заявления, как «вы сможете загружать новые данные сейчас». Единственный способ узнать, доступен ли хост, - это попытаться связаться с ним.
ить 23.5.11
Теперь мне интересно, закончил ли я это. Когда я использую онлайн-соединение, я обращаюсь с ним правильно - либо:
на заднем плане с показом индикатора прогресса или активности, и, если это не удается, я отображаю подходящее сообщение ИЛИ
Я вызываю другое приложение, либо Safari, либо Maps, которое затем выполнит свою собственную проверку и завершит работу, если нет соединения. Это оставляет пользователя в том другом приложении, которое вышло из строя, но это не идеально.
Поэтому, если я делаю то, что предлагаю ниже, а стандартные возвраты Reachability не достижимы, а затем мне нужно выполнить NSURLConnection на случай, если радиостанции перешли в спящий режим, тогда я не уверен, что это лучше, чем просто попытка получить онлайн-ресурс на первом месте.
Если кто-то может помочь - я был бы очень благодарен. Я почти готов к отправке, просто нужно понять это правильно.
Я использую пример Apple Reachability, чтобы получить хороший эффект, за исключением случаев, когда мобильное или сотовое соединение переходит в спящий режим, а затем возвращается или включается Wi-Fi, а затем на сотовое соединение.
Хорошо, когда мобильное (сотовое) соединение не меняется. Это соответствует комментариям, которые я прочитал, что, когда сотовая радиостанция выключается, вы должны снова разбудить ее вручную. Однако я не вижу, как это сделать.
Нужно ли устанавливать NSURLConnection? Некоторый пример кода был бы великолепен. Когда я получу уведомление об отсутствии соединения, я отправлю NSURLConnection и скажу пользователю повторить попытку через мгновение, а затем, если я получу обратный вызов, чтобы сказать, что он успешен, переопределить параметр отключения из Reachability?
Кроме того, я должен был бы делать это всякий раз, когда кажется, что нет никакой связи, просто в том случае, если это - это - это тратит ресурсы, когда это вполне может быть не так. например, iPod Touch, которого нет в Wi-Fi.
Я также посмотрел наDDGЭто альтернатива, но похоже, что у нее будет та же проблема.
Любые полезные предложения будут тепло приветствоваться.
Спасибо,
Крис.