Отменить запланированные локальные уведомления, когда приложение убито в ios
Я разрабатываю приложение, которое использует службы BLE с Core Bluetooth Framework. Я планирую несколько локальных уведомлений, которые будут срабатывать, когда мое приложение находится в фоновом режиме. Он отлично работает, когда мое приложение переходит в фоновый режим и я правильно получаю уведомления. Но проблема в том, что когда мое приложение находится на переднем плане, и я нажимаю кнопку "Домой", оно переходит в фоновый режим, а затем, если я убью свое приложение, дважды щелкнув кнопку "Домой" и проведя пальцем по экрану, оно все равно получит уведомления. Из-за этого странного поведения я попытался удалить все запланированные уведомления, когдаapplicationWillTerminate
метод вызван. Но я получаю уведомления, даже еслиapplicationWillTerminate
вызывается метод, когда пользователь убивает приложение.
Примечание: я использую Xcode 10.1 и iOS выше 10.
Вот мой код:
func applicationWillTerminate(_ application: UIApplication) {
print("applicationWillTerminate method called")
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().removeAllPendingNotificationRequests()
print("Removed all scheduled local notifications")
} else {
// Fallback on earlier versions
}
UIApplication.shared.cancelAllLocalNotifications()
}