在我的应用程序中,我有一个公共的CloudKit数据库。我将它用于远程订阅。如何在远程通知的alertBody中显示CKRecord中的数据?
我在一个CloudKit仪表盘创建一个GlobalNotification记录,创造了一个类型String
的content
场此记录在我的AppDelegate实现以下方法进行通知的工作:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let subscription = CKQuerySubscription(recordType: "GlobalNotification", predicate: NSPredicate(format: "TRUEPREDICATE"), options: .firesOnRecordCreation)
let info = CKNotificationInfo()
info.alertBody = "Some Text" // here i want to show content String data of a CKRecord which fired a notification
info.shouldBadge = true
info.soundName = "default"
subscription.notificationInfo = info
CKContainer.default().publicCloudDatabase.save(subscription, completionHandler: { subscription, error in
if error == nil {
// Subscription saved successfully
} else {
// An error occurred
}
})
}
之后,我创建新GlobalNotification
记录在cloudKit仪表盘,并添加在content
领域的一些“CloudKit内容文本”在一个CloudKit仪表板这个纪录。 当通知在我的设备上触发时,我在alertBody中看到“某些文本”文本,但我希望看到“CloudKit内容文本”。
我想这个通知显示来自GlobalNotification记录的content
领域采取的字符串。我应该如何改变我的代码来实现这一目标?
我读过有关desiredKeys并尝试添加info.desiredKeys = [“内容”],但它并没有帮助。我也google了,但还没有找到解决方案。