Я использую локальные уведомления для iPhone с UNNotificationAction
.
Push-уведомления поступают на iPhone и Apple Watch, и в целом все работает нормально. Но когда сопряженное устройство (iPhone) заблокировано, в AppleWatch появляется уведомление, но действие не вызывает функцию обработчика на iPhone.
Мне удалось воспроизвести эту ошибку только на watchOS 5+ и когда устройство заблокировано. Кроме того, это очень трудно отладить, в настоящее время я тестирую его с печатью сообщений в журналы.
// handling action from notification
func handleDidReceive(response: UNNotificationResponse, completionHandler: @escaping () -> Void) {
print("handle action notification")
// handle logic
// core data / networking operations
}
// Registering action categories
class func registerNotificationActions() {
let action1 = UNNotificationAction(identifier:"identifier1", title:"title 1",options:[])
let action2 = UNNotificationAction(identifier:"identifier2", title:"title 2",options:[])
let actionCategory = UNNotificationCategory(identifier: "CategoryIdentifier", actions: [action1,action2], intentIdentifiers: [], options: [] )
UNUserNotificationCenter.current().setNotificationCategories([actionCategory])
}
Я ожидаю, что действие вызовет функцию handleDidReceive
, но оно не сработает: /