Подписки на базы данных - режим «Не беспокоить» - PullRequest
0 голосов
/ 10 мая 2018

Проблема:

Я не получаю изменения подписки (уведомления) на 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. Надругой сценарий, когда приложение не в режиме Не беспокоить , но Обновление фона отключено для приложения. Я не получаю уведомления об изменениях подписки, хотя приложениенаходится на переднем плане.
...