Есть ли API-интерфейс для использования сотовых данных в iOS 7?

В iOS 7 была введена новая пользовательская конфигурация для отключения сотовых данных для определенных приложений. Его можно настроить в "Настройки" → "Сотовая связь", а затем прокрутить вниз.

settings screenshot

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

Как я могу программно проверить, включен ли переключатель для моего приложения? Есть ли API для этого? Могу ли я определить, сколько данных мое приложение использовало по сотовой сети?

Я не прошу получить значения для всех приложений. Меня интересует только использование моих приложений.

Ответ 1

Нет API для определения потребления загрузки или активности сотовой связи для вашего приложения.

Если ваше приложение пытается подключиться к веб-сайту, но сотовая связь отключена, iOS может попросить пользователя снова включить сотовый. Я не совсем уверен, как это работает, но, вероятно, похоже на предупреждение iOS 6 "Нет сетевого подключения", которое появляется, если соединение отсутствует, но приложение пытается получить доступ к Интернету.

Вы можете проверить, действительно ли текущее интернет-соединение связано с WiFi или сотовой, но если Cellular отключен, вам просто скажут, что нет сетевого подключения.

Подробнее здесь: iOS Обнаружение 3G или WiFi

Ответ 2

Вы не можете проверить, включен ли переключатель сотовых данных.

  • Самое близкое, что вы можете проверить, доступен ли конкретный хост через сотовую связь, используя флаг SCNetworkReachability kSCNetworkReachabilityFlagsIsWWAN.
  • Кроме того, вы можете включать/отключать сотовые данные для определенных подключений, используя свойство NSURLRequest allowsCellularAccess.

Ссылка: https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/Platform-SpecificNetworkingTechnologies/Platform-SpecificNetworkingTechnologies.html

Этот ответ показывает, как использование данных может быть измерено в рамках всей системы: отслеживание использования/мониторинга данных iPhone