Я могу препятствовать тому, чтобы iPhone использовал 3G при каких-либо обстоятельствах?

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

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

Действительно ли возможно выбрать, какое соединение я могу использовать иначе 3 г или Wi-Fi исключительно?

12
задан dageshi 11 June 2010 в 14:05
поделиться

4 ответа

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

5
ответ дан 2 December 2019 в 23:19
поделиться

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

1
ответ дан 2 December 2019 в 23:19
поделиться

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

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

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

0
ответ дан 2 December 2019 в 23:19
поделиться

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

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

0
ответ дан 2 December 2019 в 23:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: