1

问题:

当设备处于请勿打扰模式时(即使应用程序处于前台),我没有收到对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. 在另一种情况下,当应用程序处于“请勿打扰”模式但为应用程序关闭后台刷新时,尽管应用程序处于前台,但我没有收到订阅更改通知。
4

0 回答 0