Можно ли запускать приложение в фоновом режиме в iphone? - PullRequest
0 голосов
/ 12 июля 2011

Я знаю, с ios 4 можно запускать приложение в фоновом режиме в соответствии с этой документацией http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html

В этом документе говорится, что если приложение постоянно обновляет текущее местоположение пользователя в фоновом режиме, то его можно запускать в фоновом режиме. Но нужно ли нам использовать только CLLocationManager для обновления текущего местоположения? Можем ли мы использовать другие apis, такие как Google Локатор API для обновления текущего местоположения? тогда также возможно, что приложение может работать в фоновом режиме навсегда?

1 Ответ

1 голос
/ 12 июля 2011

Насколько я понимаю из документа, который вы разместили, если вы определите UIBackgroundModes со значением location в вашем info.plist, «система должна позволить приложению запускаться по мере необходимости в фоновом режиме».Итак, первый ответ - да, приложение может работать в фоновом режиме, и оно будет работать неограниченное время (до времени автономной работы).Это может быть легко проверено, на самом деле.

В любом случае, мне кажется, что этот вид функциональности "зарезервирован" для приложений, подобных GPS, и что Apple действительно обеспокоена его использованием:

Для приложений, которые требуют более точных данных о местоположении через регулярные промежутки времени, таких как навигационные приложения, вы должны объявить приложение как непрерывное фоновое приложение.Эта опция доступна для приложений, которые действительно нуждаются в ней, но это наименее желательный вариант, поскольку она значительно увеличивает энергопотребление.

, поэтому я понимаю, что Apple действительно тщательно проверяет все приложения, которые активируют этот режимчтобы оценить, действительно ли им нужно постоянное обновление или нет (и в этом случае, возможно, приложение не будет впущено в App Store).

Теперь, чтобы ответить на вторую часть вашегоВопрос, я думаю, что один из способов, которым Apple узнает, действительно ли ваше приложение соответствует правилам, - это использование CLLocationManager.Риск состоит в том, что если вы используете другую службу, то при рассмотрении вашего приложения Apple может подумать, что вам просто нужно фоновое время без необходимости постоянно обновлять местоположение.

Но это всего лишь предположение ...

...