У меня есть приложение, которое будет отправлять локальное уведомление об изменении определенного местоположения, когда приложение находится в фоновом режиме или не работает. Я использую мониторинг региона, чтобы получать изменения местоположения и создавать запрос на уведомление, если это необходимо. Моя проблема в том, что уведомление не работает в iOS 10, тогда как в iOS 11 и 12 оно работает нормально. Ниже приведен код для создания запроса на уведомление.
func getRequest() {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound]) { (granted, error) in
if granted {
DispatchQueue.main.async {
self.scheduleNotification()
}
}
}
}
func scheduleNotification() {
let timeTrigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 15.0, repeats: false)
let center = UNUserNotificationCenter.current()
let content = UNMutableNotificationContent.init()
content.title = "Notification works!"
content.sound = UNNotificationSound.default
let request = UNNotificationRequest.init(identifier: "LocalNotification", content: content, trigger: timeTrigger)
center.add(request) { (error) in
print(error?.localizedDescription ?? "No Error")
}
}
Есть ли что-то, что я пропустил, что должно быть включено в iOS 10? Почему это не работает только в iOS 10?
Проведя несколько часов в потоке стека, спасибо этому отвечать в другом посте. Отдельно стоит упомянуть content.body
. Это не должно быть пустым в iOS 10. По какой-то причине уведомление работает без тела в iOS 11 и 12.