Как обрабатывать локальные push-уведомления в Apple Watch, когда парное устройство заблокировано? - PullRequest
1 голос
/ 23 мая 2019

Я использую локальные уведомления для 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, но оно не сработает: /

...