Причины, по которым iOS закрывает приложение

У нас есть приложение iOS типа GPS-трекинга, которое работает в фоновом режиме. Мы наблюдаем нечастые случаи, когда приложение завершает работу с applicationWillTerminate метод вызывается во время процесса отслеживания.

Мы более или менее исключили низкий объем оперативной памяти в качестве причин. Также определенно не проблема уровня заряда батареи или пользователей, прекращающих работу приложения.

Любые предложения, что будет следующим наиболее вероятным причинам для iOS, чтобы закрыть приложение?

Некоторые мысли у нас были об использовании процессора, уровне температуры телефона или просто потому, что приложение работает в фоновом режиме в течение длительных периодов (например, дней или недель).

Есть ли какие-либо из этих вероятных или даже возможных причин для iOS, чтобы закрыть приложение?

1 ответ

Из справочной документации Apple по исполнению:

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

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

Каждый вызов beginBackgroundTaskWithName:expirationHandler: или beginBackgroundTaskWithExpirationHandler: метод генерирует уникальный токен для сопоставления с соответствующей задачей. Когда ваше приложение завершает задачу, оно должно вызвать метод endBackgroundTask: с соответствующим токеном, чтобы система знала, что задача выполнена. Ошибка вызова метода endBackgroundTask: для фоновой задачи приведет к завершению работы вашего приложения.

Другие вопросы по тегам