Отмена запланированных локальных уведомлений, когда приложение убито в ios - PullRequest
0 голосов
/ 29 января 2020

Я разрабатываю приложение, которое использует службы BLE с Core Bluetooth Framework. Я планирую некоторые локальные уведомления, которые будут срабатывать, когда мое приложение находится в фоновом режиме. Это работает нормально, когда мое приложение переходит в фоновый режим, и я получаю уведомления должным образом. Но проблема в том, что когда мое приложение находится на переднем плане, и я нажимаю кнопку «Домой», оно переходит в фоновый режим go, а затем, если я убил свое приложение, дважды щелкнув по кнопке «Домой» и проведя пальцем, все равно оно получает уведомления. Для этого странного поведения я попытался удалить все запланированные уведомления при вызове метода 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()
    }
...