Do not delete CloudKit zone. Instead, delete Core Data entities and let sync do the rest. It's also a "more standard" approach. Deleting the zone right after the entities legitimately makes deletion ineffective, because it probably spoils sync.