Запуск приложения iOS в фоновом режиме
Есть много вопросов по теме запуска приложения для iOS в фоновом режиме, но я хотел бы использовать этот вопрос, чтобы уточнить некоторые моменты.
Во-первых, если вы собираетесь отправить свое приложение в магазин приложений, вы можете работать только в фоновом режиме как приложение аудио /voip/location/airplay. Вы также можете получать push-уведомления.
Однако, если вы разрабатываете корпоративное приложение или вам не нужно беспокоиться о получении одобрения для магазина приложений, станут ли доступны дополнительные опции? Есть два случая, которые я хочу изучить:
- Постоянный запуск приложения в фоновом режиме (обработка или передача данных)
- Планирование приложения для запуска процесса в указанное время
Бонус: если № 2 и приложение закрыто, возможно ли запустить приложение?
1 ответ
Постоянный запуск приложения в фоновом режиме (обработка или передача данных)
Ограничения на фоновую обработку встроены в iOS, а не только введены командой обзора магазина приложений. Вы можете попытаться обмануть iOS, пометив свое приложение как, скажем, аудио приложение, а затем вызвав соответствующий аудио API, в дополнение к тому, что вы хотите, чтобы ваше приложение делало. В конечном счете, кажется, что гораздо проще искать пути для достижения вашей реальной цели, не отказываясь от ограничений. Например, если вам нужно, чтобы пользователь периодически что-то делал, используйте локальные уведомления, чтобы привлечь его внимание, а затем дайте им вескую причину для выполнения этой задачи.
Планирование приложения для запуска процесса в указанное время
Насколько мне известно, это невозможно в рамках текущего API. iOS перезапустит приложение, которое ранее запрашивало уведомления о значительных изменениях, но это не помогает, если вы хотите перезапустить в определенный момент времени. Опять же, лучше всего использовать локальное уведомление и дать пользователю причину для запуска приложения.