How to delete an app and all iCloud/CloudKit data

We hear a lot about the difficulties of backing up Core Data / SwiftData with CloudKit.
But on the other hand, when it works, CloudKit does its job well: it's very difficult to lose data, so much so that doing so voluntarily is not trivial.

One of my No Meat Today users wanted to start again with a clean slate, and I couldn't find much information about how to do that.

After some trial and error, here's the process that worked for them:

Toggle Off iCloud for the App

  • Open Settings on your iOS device.
  • Tap your Apple ID at the top
  • Open iCloud
  • Under "APPS USING ICLOUD", tap "Show All"
  • Find the app under the list of apps using iCloud and toggle it off.

Delete the App

Here is the tricky part:

⚠️
Deleting the app with a long press isn't enough.

As you may notice, when you long-press an app icon, it doesn't say "Delete App" but "Remove App", which I think(?) explains why it's not enough.

Me pretending to delete the Shazam app on my iPhone, which will never happen

In order to find the Delete app, we need to dig deep inside the Settings

  • Head to Settings > General > iPhone Storage.
  • Wait for the apps to load, and select "Show All" (tip: you can sort by Name using the picker above the list)
  • Select the app
  • Choose "Delete App"

Repeat on All Devices

Do the same on any other device to ensure all local and iCloud data related to the app is deleted.

Reinstall the App

Download and install the app again from the App Store on your device.

Turn on iCloud back on

  • Open Settings on your iOS device.
  • Tap your Apple ID at the top
  • Open iCloud
  • Under "APPS USING ICLOUD", tap "Show All"
  • Find the app under the list of apps using iCloud and toggle it on this time.

Conclusion

By following these steps, any user can delete all the data associated with your app from iCloud and their devices, providing a fresh start.

If you have a better process/explanation, do let me know about it! 👇