Подписки на базы данных - режим "Не беспокоить"

Проблема:

Я не получаю изменения подписки (уведомления) на private а также shared databases, когда устройство находится в режиме " Не беспокоить" (даже если приложение находится на переднем плане).

Замечания:

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

Код:

Регистрация удаленных уведомлений:

application.registerForRemoteNotifications()

База данных подписок:

let subscription = CKDatabaseSubscription(subscriptionID: "Test")
let notificationInfo = CKNotificationInfo()
notificationInfo.shouldSendContentAvailable = true
subscription.notificationInfo = notificationInfo

Получение уведомления:

func application(_ application: UIApplication,
                 didReceiveRemoteNotification userInfo: [AnyHashable : Any],
                 fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

    let notification = CKNotification(fromRemoteNotificationDictionary: userInfo)

    dataService.receivedCloudKitNotification(notification,
                                             completionBlock: completionHandler)
}

Так как я не использую звук / значок / предупреждение / carplay (UNAuthorizationOptions), Я выбрал вышеупомянутый метод.

Мое предположение:

  • Я предполагал, что функция "Не беспокоить" будет применима только для всего, что предупредит пользователя визуально / или с помощью звука.
  • Я предполагал, что тихие уведомления предназначены для изменений данных и не будут затронуты этим. (Так же, как они не требуют никакого разрешения)

Вопросы:

  1. Я пропускаю какие-либо шаги для вышеупомянутой проблемы?
  2. В другом сценарии, когда приложение не находится в режиме " Не беспокоить ", но фоновое обновление отключено для приложения, я не получаю уведомления об изменениях подписки, хотя приложение находится на переднем плане.

0 ответов

Другие вопросы по тегам