Отказ Apple, потому что UIBackgroundMode = местоположение

Я отправил приложение, которое отслеживает местоположение пользователя (и отправляет его на сервер) через определенные промежутки времени, выбранные пользователем (5 мин, 10 мин, 30 мин, 1 час). Приложение также должно работать в фоновом режиме (отправка запросов), и я объявил его как UIBackgroundMode = location. Я могу отправлять запросы в фоновом режиме с этими фиксированными интервалами. Apple отклонила его, предложив следующее:

Мы обнаружили, что ваше приложение использует фоновый режим, но не включает функциональность, которая требует, чтобы этот режим выполнялся постоянно. Эта поведение не соответствует Руководству по обзору App Store.

Мы заметили, что ваше приложение объявляет о поддержке местоположения в UIBackgroundModes в вашем Info.plist, но не включает функции которые требуют постоянного местоположения.

Было бы уместно добавить функции, требующие постоянного использования обновления в режиме реального времени, когда приложение находится в фоновом режиме или удалите настройку "местоположение" из ключа UIBackgroundModes. Если ваш приложение не требует постоянных обновлений в режиме реального времени, мы рекомендуем использовать службу определения местоположения с существенным изменением или служба мониторинга местоположения в регионе.

Дополнительные сведения об этих параметрах см. в разделе "Запуск Служба определения местоположения с существенным изменением" и "Мониторинг на основе формы Регионы" в Руководстве по программированию местоположения.

Если вы решите добавить функции, которые используют фоновый режим местоположения, пожалуйста, включите в Описание приложения:

"Продолжение использования GPS, работающего в фоновом режиме, может значительно уменьшите срок службы батареи."

Если я изменю существенное изменение местоположения и удалю UIBackgroundMode ключ из Info.plist, приложение будет убито в фоновом режиме и проснется только в случае возникновения события. Но я должен отправить запрос на сервер каждые 5 минут, например, и мое приложение будет убито в фоновом режиме (скажем, пользователь не перемещается, а на сервер не отправляются запросы trigger = no).

Ответ 1

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

Ответ 2

Чтобы решить проблему, вы должны добавить отказ от ответственности в описании приложения в Itunes Connect. "Дальнейшее использование GPS, работающего в фоновом режиме, может значительно уменьшить срок службы батареи".

Ответ 3

Я думаю, что лучше всего решить эти вопросы непосредственно в Apple. Надеюсь, вы это сделали. Они очень хорошо разбираются в коммуникации, обеспечивая, чтобы ваш ответ был профессиональным и понятным. Как и ваши вопросы.

Мне трудно поверить, что кто-то сможет вам помочь здесь.

Изменить: добавьте описание в свое приложение. Будьте ясны в своих сообщениях пользователю и рецензентам Apple. Кажется, это помогает. Помните, что это тоже люди.