这是我准备订阅的方式:
class func saveSubscriptions() {
let options: CKSubscriptionOptions = [.firesOnRecordCreation, .firesOnRecordUpdate, .firesOnRecordDeletion]
let serviceSubscription = CKSubscription(recordType: "Service", predicate: NSPredicate(value: true), options: options)
let notificationInfo = CKNotificationInfo()
notificationInfo.alertLocalizationKey = "s"
notificationInfo.shouldBadge = false
notificationInfo.shouldSendContentAvailable = false
serviceSubscription.notificationInfo = notificationInfo
CloudContainer.publicCloudDatabase.save(serviceSubscription) { _, _ in }
}
通知会永久显示在屏幕上。
我真的不想在这里。有没有一种方法可以在应用处于事件状态时发送通知,但在应用未运行或处于前台模式时不显示任何内容?
最佳答案
您需要正确设置通知信息。不要设置 alertLocalizationKey
。 shouldSendContentAvailable
应设置为 true
。
关于ios - 如何防止在屏幕上通知用户有关 CloudKit 的新更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40469676/