Принудительное подключение к WWAN на iPhone, даже когда Wi-Fi доступен - PullRequest
5 голосов
/ 17 декабря 2009

Мне нужно установить сетевое соединение через WWAN (то есть мобильную сеть) на iPhone, даже если устройство подключено к сети Wi-Fi, однако я не могу найти способ сделать это.

Я попытался перейти на уровень сокетов и перебрать доступные интерфейсы, однако при подключении к Wi-Fi интерфейс WWAN (pdp_ip0) исчезает.

Решение должно быть безопасным в App Store.

Ответы [ 3 ]

4 голосов
/ 16 февраля 2010

Перечислите сетевые интерфейсы, вы увидите, что когда вы подключены как по Wi-Fi, так и по 3G, есть 2 с разными локальными IP-адресами. Возможно, вы сможете использовать одно против другого, принудительно привязав сокет к нужному интерфейсу перед отправкой данных. Ядро, которое пытается найти лучший интерфейс для маршрутизации вашего пакета, должно быть удовлетворено вашим выбором. Отказ от ответственности: я не пробовал это, это просто предложение.

2 голосов
/ 17 декабря 2009

Возможно, вы можете использовать код Reachability , чтобы определить, включен ли Wi-Fi, и запустить UIAlertView, чтобы предупредить пользователей о выходе из приложения, открытии приложения «Настройки» и отключении беспроводной сети вручную. Не идеально, безусловно.

1 голос
/ 17 декабря 2009

Нет поддерживаемого способа сделать это. Вы должны указать пользователю отключить Wi-Fi-соединение, поскольку «Это необоротное операционное требование для службы, к которой должно подключиться приложение».

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

-t

...