Например, один из пользователей создает случайные записи, которые загружаются в общедоступную базу данных CloudKit, и в некоторых случаях этот человек удаляет приложение, но его/ее записи все еще существуют. Потому что его общедоступная база данных учитывает свободные лимиты, поэтому я должен позаботиться об этом. Любые идеи, пожалуйста?Как удалить записи человека после удаления приложения? Есть ли способ?
ответ
Невозможно определить, удалил ли пользователь приложение со своего телефона или если он просто не использует приложение. Что вы можете сделать, так это выбрать всех пользователей без активности за последние X месяцев, а если нет активности в последнее время, удалите этих пользователей. Поскольку вы, вероятно, не хотите запускать это действие удаления из случайного iPhone, вы можете создать приложение OS X, которое подключено к одному и тому же контейнеру данных.
Вы можете создать CKQuery для поиска в RecordId так:
var query = CKQuery(recordType: recordType, predicate: NSPredicate(format: "%K == %@", "creatorUserRecordID" ,CKReference(recordID: theSearchRecordId, action: CKReferenceAction.None)))
Где theSearchRecordId является recordID.recordName, что вы ищете. И вы должны сделать это для каждого типа записи, который у вас есть в вашем контейнере. Вам необходимо установить поле поиска creatorUserRecorID на панели мониторинга CloudKit.
Хм .. это может сработать. Благодаря! И как вы могли получить записи конкретного человека? Все они? – Zsolt
Я добавил запрос, который вы можете использовать для ответа. –