Отменить запланированные локальные уведомления, когда приложение убито в 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()
    }

0 ответов

Другие вопросы по тегам