내 응용 프로그램에는 공개 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 대시 보드에 추가하고 CloudKit 대시 보드의이 레코드에 대해 content
필드에 "CloudKit content Text"를 추가하십시오. 장치에서 알림이 실행되면 alertBody에 "Some text"텍스트가 표시되지만 "CloudKit content Text"가 표시됩니다.
이 알림에서 GlobalNotification 레코드의 content
필드에서 가져온 문자열을 표시하고자합니다. 이를 달성하기 위해 코드를 어떻게 변경해야합니까?
desiredKeys에 대해 읽었으며 info.desiredKeys = [ "content"]를 추가하려고했지만 도움이되지 않았습니다. 나는 또한 봤지만 해결책을 찾지 못했습니다.