问题:
当设备处于请勿打扰模式时(即使应用程序处于前台),我没有收到对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
),我选择了上述方法。
我的假设:
- 我假设请勿打扰仅适用于任何会以视觉/或声音提醒用户的东西。
- 我假设静默通知用于数据更改并且不会受到它的影响。(就像他们不需要任何授权一样)
问题:
- 我错过了上述问题的任何步骤吗?
- 在另一种情况下,当应用程序未处于“请勿打扰”模式但为应用程序关闭后台刷新时,尽管应用程序处于前台,但我没有收到订阅更改通知。