Я разрабатываю приложение, которое использует службы 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()
}