Ограничете приложението за iPhone до Wifi

Възможно ли е да ограничите приложение за iPhone да работи само ако има Wifi връзка (не 3G)?


person hpique    schedule 09.06.2010    source източник


Отговори (3)


да Има две стъпки:

Първо, трябва да добавите UIRequiresPersistentWiFi ключ към вашите приложения Info.plist. Това гарантира, че WiFi връзката няма да заспи, докато приложението ви е отворено.

Второ, трябва да направите запитване до системата (като използвате SCNetworkReachability API), за да видите кое радио е активирано в момента. Вижте този въпрос в документацията на iPhone.

person Stephen Darlington    schedule 09.06.2010
comment
-1. Това не ограничава приложението да работи само на Wifi. Този ключ позволява на приложението ви да информира системата, че би предпочела wifi, и да го поддържа жив, когато приложението е неактивно (екранът е заключен, разговорът е в ход и т.н.). Използвам този ключ в приложението си, но също така разрешавам достъп до 3G мрежа. - person Jasarien; 09.06.2010
comment
@Jasarien Да, прав си, това не отговаря директно на въпроса. (Въпреки че казването, че предпочитате WiFi пред 3G, обикновено е това, което хората искат.) Актуализирах отговора си. - person Stephen Darlington; 09.06.2010
comment
Не точно отговор на въпроса, но все пак най-добрият отговор досега. - person hpique; 13.06.2010

Можете също да получите класа Reachability от Reachability sample от Apple Dev Center. Предлага начин да проверите как е свързан iphone.

person dusker    schedule 09.06.2010
comment
Бих препоръчал този подход. Можете конкретно да разберете кога устройството е свързано с wifi или не и да ограничите частите от приложението, които изискват WiFi. Ключът изисква постоянен wifi няма да ограничи напълно достъпа само до wifi. - person Jasarien; 09.06.2010

Инструкции за работа в мрежа и интернет

Ако вашето приложение изисква WiFi, трябва да добавите ключа UIRequiresPersistentWiFi към Info.plist и да го зададете True. Този ключ уведомява системата, че вашето приложение използва WiFi мрежата за комуникация.

person Vladimir    schedule 09.06.2010