iPhone, NSData, Wi-Fi против сотовой сети - PullRequest
0 голосов
/ 08 ноября 2010

Я работаю над приложением, которое загружает некоторые данные из Интернета, используя метод initDithContentsOfURL NSData. При запуске я использую некоторый код из примера Apple Reachability, чтобы проверить, доступно ли соединение Wi-Fi; если нет, то приложение просто показывает сообщение об ошибке и отказывается действительно запускаться (по запросу моего клиента). Все отлично работает на iPod и iPad, но на iPhone мой клиент сообщает о гораздо более медленных скоростях загрузки: , если не включит режим полета, и в этом случае скорости загрузки соответствуют скорости iPod / iPad. Таким образом, кажется, что, хотя Wi-Fi соединение доступно, iPhone, вероятно, использует сотовую сеть для загрузки данных. Что действительно странно. Кто-нибудь имеет представление о том, что я могу делать неправильно?

1 Ответ

0 голосов
/ 08 ноября 2010

Я считаю, что ваш ответ SCNetworkReachability , к которому у вас уже есть доступ, поскольку вы используете код Reachability от Apple.

API SCNetworkReachability позволяет приложению определять статустекущая конфигурация сети системы и достижимость целевого хоста.Один из флагов, возвращаемых API, kSCNetworkReachabilityFlagsIsWWAN, сообщит вам, использует ли сетевое соединение с целевым хостом сеть оператора.Пример кода Reachability показывает, как определить активное сетевое соединение.

Вы также можете использовать это для включения WiFi, если вы этого хотите.Посмотрите на UIRequiresPersistentWiFi

...