My application scenario is like this, userA create a CKRecordZone object, then shared it to userB. userB can fetch records from the zone in userB's sharedCloudDatabase, it's okay util now. But I need userB to leave this sharing zone, so I delete zone on userB's device. I've tried all delete function: delete(withRecordZoneID:), CKModifyRecordZonesOperation, modifyRecordZones(saving: , deleting:), all of them got a same error: CKError 0x28302d2c0: "Invalid Arguments" (12/2006); server message = "Zone delete not allowed"; op = 81F28FBD0BEBE62F; uuid = ; container ID = "" On the CloudKit dashboard, I login as userB, delete the shared zone, it's succeed! So i suspect that the api for iOS has some bugs, please fix it! thx!