Подтвердить что ты не робот

Могу ли я запретить iPhone использовать 3G при любых обстоятельствах?

Я пишу связанное с путешествием приложение, которое будет загружать большие базы данных (60мега) потенциально за рубежом, с кодом достижимости, который я могу сказать, когда хост доступен через Wi-Fi или 3g, но я беспокоюсь, что если по какой-то причине соединение wifi прерывается в течение минуты или около того, как некоторые DSL-соединения, вероятно, будут делать, порой iphone будет переключаться прозрачно в 3G и, не понимая, что я мог бы взломать чей-то телефонный счет с заграничными сборами данных!

Итак, мне интересно, есть ли у кого-либо опыт, в случае такого перерыва в wifi-подключении (wifi все еще работает, но соединение с сетью не работает) будет ли код кода достижимости ReachableViaWWAN? Поэтому я мог подождать, пока мой код загрузки вернется, проверьте, как хост в настоящий момент доступен, и если через 3g я мог бы прервать?

Можно ли выбрать какой тип соединения я могу использовать aka 3g или wifi исключительно?

4b9b3361

Ответ 1

Если вы посмотрите в примере Reachability, в Reachability.h, то константа определяется как "kReachabilityChangedNotification". Если вы попросите, чтобы вас уведомили об изменениях - если предположить, что это работает так, как кажется, вы можете остановить соединение, когда оно опустится до 3G.

Ответ 2

В разделе "Настройки- > Общие" > "Сеть" есть "Роуминг данных". Это позволяет отключать роуминг в других сетях передачи данных во время поездок по всему миру. У пользователя уже есть выбор, разрешать ли дорогое 3G-соединение во время путешествия.

Ответ 3

Да, в настройках- > general- > network вы можете отключить 3G. Но iphone по-прежнему будет использовать не 3G-сотовые.

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

Ответ 4

Нет; IP-код в стиле Unix не работает. Использование кода достижимости в основном будет правильным, но есть вероятность, что вы отправите несколько пакетов по 3G, прежде чем обрабатывать уведомление.

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

Один из вариантов - отобразить что-то вроде "Не подключено через Wi-Fi, вы хотите загружать большое количество данных по сети сотовой сети? Возможно, вам придется платить". и сохраните его в настройках.