Изпратих приложение, което проследява местоположението на потребителя (и го изпраща на сървъра) на някои фиксирани интервали, избрани от потребителя (5 минути, 10 минути, 30 минути, 1 час). Приложението също трябва да работи във фонов режим (изпращане на заявките) и съм го декларирал като UIBackgroundMode = location
. Мога да изпращам заявките във фонов режим на тези фиксирани интервали. Apple го отхвърли, предлагайки следното:
Установихме, че приложението ви използва фонов режим, но не включва функционалност, която изисква този режим да работи постоянно. Това поведение не е в съответствие с указанията за преглед на App Store.
Забелязахме, че приложението ви декларира поддръжка за местоположение в ключа UIBackgroundModes във вашия Info.plist, но не включва функции, които изискват постоянно местоположение.
Би било подходящо да добавите функции, които изискват постоянно използване на актуализации на местоположението в реално време, докато приложението е във фонов режим, или да премахнете настройката за „местоположение“ от ключа UIBackgroundModes. Ако вашето приложение не изисква постоянни актуализации на местоположението в реално време, препоръчваме да използвате услугата за местоположение със значителни промени или услугата за местоположение за наблюдение на региона.
За повече информация относно тези опции, моля, вижте разделите „Стартиране на услугата за местоположение със значителни промени“ и „Мониторинг на региони, базирани на форма“ в Ръководството за програмиране на информация за местоположението.
Ако решите да добавите функции, които използват фоновия режим на местоположението, моля, включете следния отказ от отговорност за използване на батерията в описанието на вашето приложение:
„Продължаващото използване на GPS, работещ във фонов режим, може драстично да намали живота на батерията.“
Ако променя значителна промяна на местоположението и премахна UIBackgroundMode
ключ от Info.plist
, приложението ще бъде унищожено във фонов режим и ще се събуди само ако се случи събитието. Но трябва да изпращам заявката до сървъра на всеки 5 минути например и приложението ми се убива във фонов режим (да кажем, че потребителят не се движи и събитието не е trigger = no
заявките се изпращат до сървъра).