Выполняйте задание каждый день, даже если оно работает только в фоновом режиме - PullRequest
1 голос
/ 23 марта 2012

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

Нет ничего из этого: аудио, местоположение, VOIP, газетный киоск, внешний аксессуар, Bluetooth-централ.

Я планирую использовать локальные уведомления, но дело в том, что если пользователь не открывает приложение (а просто оставляет его вв фоновом режиме), я не могу планировать новые локальные уведомления.

Что мне делать в этой ситуации?

Ответы [ 2 ]

1 голос
/ 23 марта 2012

Сделай что-нибудь еще.

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

Я видел приложения, которые добавили определенные функции в одну из этих категорий, ортогональные их действительному назначению, чтобы они могли работать в фоновом режиме; например, есть пара погодных приложений, которые воспроизводят непрерывный аудиофайл (один из доступных звуков - беззвучный), чтобы иметь возможность обновлять «теперь воспроизводимое» изображение экрана блокировки с живыми данными. Если вы не возражаете против того, чтобы ваши пользователи не могли слушать какую-либо другую музыку, и ваше приложение постоянно активно (что может привести к дополнительной разрядке батареи), это может сработать. Но если вы пытаетесь, чтобы ваше приложение незаметно делало что-то в фоновом режиме, не мешая чему-либо, таким образом, что вы попадете в App Store, вам, вероятно, не повезло.

0 голосов
/ 24 марта 2012

Четыре варианта:

  • Перейти на джейлбрейк
  • Попробуйте попасть в магазин приложений в качестве одного из таких типов приложений, составив функцию, которая использует один из этих типов.
  • (мой любимый) Действительно переосмыслить свою систему, действительно ли необходимо планировать фоновые задачи? Не может ли пользователь немного подождать, когда он откроет приложение? Эта загрузка может быть выполнена в фоновом режиме. И вы не можете переложить часть работы на веб-сервер? Вы собираете данные? Вы не должны без согласия пользователя.
  • Сообщите вашему пользователю, что для него важно (он тот, кто правильно его использует?), Что он открывает приложение один раз в день.

Я думаю, что я рассмотрел все варианты, кроме тех, которые уже были описаны Ноем.

...