Фон приложения iOS 7 разрешен

Я работаю над приложением, которое будет фиксировать обновления местоположения, доступность сети, детали телефонии. Я зарегистрировал свое приложение для Фоновых режимов - Обновления местоположения и Фоновая выборка.

Версия ОС - iOS 7.1

У меня есть несколько вопросов о том, что я могу сделать в фоновом режиме..

(1) Поскольку мое приложение зарегистрировано для обновлений местоположения в фоновом режиме, могу ли я отслеживать доступность сети, состояние вызова, уровень заряда батареи? Я много гуглил, но не совсем ясно, разрешено ли контролировать и захватывать данные сети, данные о батарее и данные вызовов, когда мое приложение зарегистрировано для обновлений местоположения при работе в фоновом режиме.

(2) Разрешено ли запускать вторичный поток, пока приложение находится в фоновом режиме?

(3) Целью сбора указанных данных является сохранение захваченных данных в базе данных sqlite и их отправка на сервер с помощью веб-сервисов. Это разрешено?

Мое приложение отправится в магазин приложений Apple, поэтому я ищу приемлемый подход.

Где-то я читал, что если ваше приложение зарегистрировано для VOIP в фоновом режиме, то вы можете создать сокет и захватывать данные. Но я не уверен, что этот способ работает или может быть приемлемым для Apple App Store.

1 ответ

Да, вы можете делать все, что вы собираетесь делать (как вы заявили), до тех пор, пока вы НЕ делаете никаких вызовов OpenGL ES.

iOS не позволяет фоновым приложениям получать доступ к графическому процессору, так что переднее приложение всегда может предоставить пользователю отличный опыт. Ваше приложение может быть прервано не только в том случае, если оно выполняет вызовы OpenGL ES в фоновом режиме, но также в том случае, если ранее отправленные команды сбрасываются в графический процессор в фоновом режиме. Ваше приложение должно убедиться, что все ранее отправленные команды завершили выполнение, прежде чем перейти в фоновый режим.


Apple предоставляет хорошее руководство о том, что делать, а что не делать, когда в фоновом режиме:

https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

См. Раздел " Быть ответственным фоновым приложением ".

Другие вопросы по тегам