how .deleteself work? docs says:
when reference object’s action set ckreferenceactiondeleteself, target of reference—that is, record stored in reference’s recordid property—becomes owner of source record. deleting target (owner) record deletes source records.
but impression deleting target not delete source. , quite annoying when remains in container, client downloads it, , expect reference point somewhere, target not exist when building slice of server data store on client?
how treat case? ignore sort of records? or periodically cloudkit storage, searching corrupt records delete them?
or instead of deleting record better set attribute in deleted state, keep in database?
i struggled 1 while , thought share findings...
it fundamentally permission issue. cascading delete work if user deleting records has 'write' permissions records needing deleted. in cloudkit dashboard, cascading delete work records created developer's icloud account.
if need delete records don't belong user deleting them, can add 'write' permissions record type under security.
Comments
Post a Comment