Можно ли ограничить работу приложения для iPhone только при наличии Wi-Fi-соединения (не 3G)?
Да. Есть два шага:
Для начала вам нужно добавить ключ UIRequiresPersistentWiFi в ваши приложения Info.plist. Это гарантирует, что соединение Wi-Fi не перейдет в спящий режим, пока ваше приложение открыто.
Info.plist
Во-вторых, вам нужно запросить систему (используя SCNetworkReachability API), чтобы узнать, какая радиостанция в данный момент включена. См. Этот вопрос в документации iPhone.
SCNetworkReachability
Вы также можете получить класс Reachability из образца Reachability из центра разработки Apple. Предлагает способ проверить, как подключен iphone.
Инструкции по работе в сети и Интернете
Если вашему приложению требуется WiFi, вам нужно добавить ключ UIRequiresPersistentWiFi в Info.plist и установить его в True.Этот ключ уведомляет систему о том, что ваше приложение использует для связи сеть WiFi.