Причины, по которым iOS закрывает приложение
У нас есть приложение iOS типа GPS-трекинга, которое работает в фоновом режиме. Мы наблюдаем нечастые случаи, когда приложение завершает работу с applicationWillTerminate
метод вызывается во время процесса отслеживания.
Мы более или менее исключили низкий объем оперативной памяти в качестве причин. Также определенно не проблема уровня заряда батареи или пользователей, прекращающих работу приложения.
Любые предложения, что будет следующим наиболее вероятным причинам для iOS, чтобы закрыть приложение?
Некоторые мысли у нас были об использовании процессора, уровне температуры телефона или просто потому, что приложение работает в фоновом режиме в течение длительных периодов (например, дней или недель).
Есть ли какие-либо из этих вероятных или даже возможных причин для iOS, чтобы закрыть приложение?
1 ответ
Из справочной документации Apple по исполнению:
Делайте минимальную работу во время работы в фоновом режиме. Время выполнения, заданное фоновым приложениям, более ограничено, чем время, отводимое приоритетному приложению. Приложения, которые проводят слишком много времени в фоновом режиме, могут быть заблокированы системой или завершены.
Кроме того, я предполагаю, что вы убедились, что не сталкиваетесь с приведенным ниже (из того же документа):
Каждый вызов beginBackgroundTaskWithName:expirationHandler: или beginBackgroundTaskWithExpirationHandler: метод генерирует уникальный токен для сопоставления с соответствующей задачей. Когда ваше приложение завершает задачу, оно должно вызвать метод endBackgroundTask: с соответствующим токеном, чтобы система знала, что задача выполнена. Ошибка вызова метода endBackgroundTask: для фоновой задачи приведет к завершению работы вашего приложения.