Cloud kit: how to get public database subscription notification from your group of contacts only

137 views Asked by At

I have CKRecord for Location details in the public database. I want to create a subscription for a CKrecord with location details, stored in the public database. I want to set subscription so I get notification from those that are in my contacts group only. The subscription notification on Location CKrecord notifies me on all users which takes more time to sort through and I want to avoid this.

How can I set the subscription?

1

There are 1 answers

5
Clifton Labrum On BEST ANSWER

Assuming your Location recordType has some kind of userEmail field on it, you can query for those records like this:

let predicate = NSPredicate(format: "userEmail = %@", argumentArray: ["[email protected]"])
  
let query = CKQuery(recordType: "Location", predicate: predicate)
let operation = CKQueryOperation(query: query)
  
var records = [CKRecord]()
operation.recordFetchedBlock = { record in
  records.append(record)
}

operation.queryCompletionBlock = { cursor, error in
  print("Done.")
  print(records)
}

CKContainer(identifier: "iCloud.yourContainer").publicCloudDatabase.add(operation)