Уведомления Apple Watch Действия не работают, когда приложение для iPhone завершено, смотрите ОС 5.3.2 - PullRequest
1 голос
/ 25 октября 2019

Я работаю над приложением для iOS, которое поддерживается, смотрите также мои проблемы.

watch os - 5.3.2 и iOS 13.1

Я сталкиваюсь с проблемой уведомлений в наблюденииприложение. когда приложение iPhone закрывается и если я получаю уведомление в часы, если я нажимаю на действие, ничего не происходит.

Я ретранслирую на push-уведомление, и для действий по уведомлению пользователя я регистрируюсь для уведомления пользователя.

как показано ниже

 // this I will call in iPhone app code in did finishlaunching with options.

   func registerForPushNotifications(withUserInfo userInfo: [AnyHashable: Any]?) {
        if #available(iOS 10.0, *) {
            self.requestAuthorization(withUserInfo: userInfo)
        } else {
            registerUserNotificationSettings(withUserInfo: userInfo)
            UIApplication.shared.registerForRemoteNotifications()
        }
    }

  func registerUserNotificationSettings() {
        let approveAction = UIMutableUserNotificationAction()
        approveAction.title = NSLocalizedString("Approve", comment: "Notification approve button title")
        approveAction.identifier = "approve"
        approveAction.isDestructive = false
        approveAction.activationMode = .background
        approveAction.isAuthenticationRequired = true

        let denyAction = UIMutableUserNotificationAction()
        denyAction.title = NSLocalizedString("Deny", comment: "Notification deny button title")
        denyAction.identifier = "deny"
        denyAction.isDestructive = true
        denyAction.activationMode = .background
        denyAction.isAuthenticationRequired = true

        let signInCategory = UIMutableUserNotificationCategory()
        signInCategory.setActions([approveAction, denyAction], for: .default)
        signInCategory.identifier = "pushotp"

        let categories = NSSet(object: signInCategory) as? Set<UIUserNotificationCategory>

        let settings = UIUserNotificationSettings(types: [.badge, .sound, .alert], categories: categories)
        DispatchQueue.main.async(execute: {
            UIApplication.shared.registerUserNotificationSettings(settings)
        })
    }

Сценарии

  1. Когда приложение iPhone находится в фоновом режиме, iPhone заблокирован и часы находятся в фоновом режиме. Если я нажимаю push-уведомление с сервера, часы отображают баннер уведомлений с двумя действиями, если я нажимаю на одно действие, оно работает нормально.

  2. , когда приложение iPhone закрыто и iPhone заблокирован немедленно. ЕслиЯ отправляю pushnotification, часы отображают баннер уведомлений с двумя действиями, если я нажимаю какое-либо одно действие, оно работает нормально.

  3. Когда приложение iPhone убрано и iPhone заблокирован, оба часы и iPhone бездействуют длячас так. затем я активирую часы и отправлю уведомление с сервера, теперь часы отображают баннер с двумя действиями, теперь, если я нажму на действия, оно не работает.

Было бы здорово, есливы, ребята, скажите мне, что мне нужно сделать правильно.

1 Ответ

0 голосов
/ 14 ноября 2019

Чтобы убедиться, что действия выполняются в 3-м случае, убедитесь, что Полезная нагрузка уведомления должна иметь contentAvailable свойство до ДА . Так что приложение будет запускаться в фоновом режиме. И соответственно обновит действия пользователя уведомления.

...