IOS: вызов метода, когда локальное уведомление получено в фоновом режиме
Я знаю, что этот вопрос выглядит дубликатом, но я не нашел точного ответа в соответствии с моим требованием. Делаем приложение, связанное с медицинскими событиями, следуя инструкциям ниже
1) connected the app to smart watch.
2) schedule the local notifications i. e when user needs to take
medicine
3) when the schedule time arrives local notification fires and
delegate method is calling (did receive local notification)
4) At the time of firing local notifications i am sending
message(sms) to the user from the app that he has to take certain
medicine
Все работает нормально, когда приложение находится на переднем плане и когда приложение достигает фонового режима, запускаются только локальные уведомления, и пользователь не получает никакого сообщения. Поскольку никакой метод не вызывается, когда приложение находится в фоновом режиме. Но весь мой случай использования приложения в основном зависит на отправку смс.
Есть ли решение для этого? Любая помощь будет приветствоваться! Thnxx!!
1 ответ
Вам нужно явно запустить свой метод в UIBackgroundTask. Смотрите пример ниже:
UIApplication * application = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier background_task;
background_task = [application beginBackgroundTaskWithExpirationHandler:^ {
[application endBackgroundTask: background_task];
background_task = UIBackgroundTaskInvalid;
}];
// your method call here
[application endBackgroundTask: background_task];
background_task = UIBackgroundTaskInvalid;
Я делаю что-то подобное, и это работает для меня. Дайте мне знать, если это не работает для вас.