iOS 8: выполнение в фоновом режиме

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

Я пытался найти другой способ сделать это, но пока не могу понять. Вот проблемы, с которыми я сталкиваюсь.

  1. Могу ли я получить обратный вызов, когда локальное уведомление срабатывает независимо от действий пользователя?
  2. Могу ли я выполнять фоновое выполнение в определенное время? Как ?

Есть ли что-нибудь еще, что я могу использовать?


person Bvit    schedule 27.01.2016    source источник


Ответы (2)


Если приложение находится на переднем плане, вы можете установить следующее уведомление в методе didReceiveLocalNotification в AppDelegate.

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

Вот хорошее руководство по локальным уведомлениям, которому вы можете следовать

person Charmi Gheewala    schedule 27.01.2016
comment
Спасибо за ответ. Но я ищу фоновое решение. - person Bvit; 27.01.2016
comment
вы можете сослаться на это - stackoverflow.com/questions/19846815/ - person Charmi Gheewala; 27.01.2016

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

Используйте for(), добавьте нужный пробел к предыдущему NSDate и установите все локальные уведомления, когда приложение перейдет в фоновый режим. Когда приложение стало активным, используйте [[UIApplication sharedApplication] cancelAllLocalNotifications];

person Ciprian C    schedule 27.01.2016