2016-10-20 8 views
0

Есть ли в любом случае для выполнения фоновой задачи на iOS? Как периодически проверять состояние системы телефона и сообщать о виджетах?Периодическая фоновая задача на iOS

Кроме того, я обнаружил, что если iPhone выключен, тогда эта фоновая задача не может быть выполнена снова при перезагрузке телефона.

ответ

1

Короткий ответ: № Длинный ответ более нюансирован, но вы все равно не должны этого делать. Вы можете планировать свое приложение для обновления фона, но это ненадежно (приложение не будет запускаться с постоянными интервалами), и если пользователь проверит приложение в коммутаторе задач, приложение не будет запускаться вообще в фоновом режиме. Еще один хакерский способ - заставить сервер посылать тихий толчок, чтобы пробудить приложение более надежно. Однако это еще не гарантировано. если пользователь переместит приложение в переключатель задач, ваше приложение не будет запущено.

В любом случае вы не можете инициировать обновления виджета из своего приложения. Операционная система управляется жизненным циклом виджета. Вместо этого реализуйте widgetPerformUpdate(completionHandler:) и выполняйте обновления своего виджета. Однако, как и выше, это не периодическая операция.

+0

Спасибо. Ваш ответ ясен. Если приложение всегда находится на заднем плане (предположим, что пользователь не пропустит его), могу ли я выполнить некоторую периодическую задачу? то есть любой способ заставить приложение запускать некоторые коды, когда он неактивен. – user6539552

+0

Если пользователь не протащил его, лучшим вариантом будет тихая push-уведомления (полезная нагрузка с только «contentAvailable: 1'). Это пробудит приложение и позволит вам работать. –

 Смежные вопросы

  • Нет связанных вопросов^_^