println("queryNotification.recordFields.keys: \(queryNotification.recordFields?.keys)")
このログがどのように可能かわかりませんか? レコードが更新されたという通知を受け取った場合、変更されたフィールドが少なくとも 1 つ必要ですよね? ところで、他のデバイスの 1 つのフィールドを変更しているので、nil の理由recordFields
がわかりません。少なくとも 1 つのキー値が必要です。
enum CKQueryNotificationReason : Int {
case RecordCreated
case RecordUpdated
case RecordDeleted
}