# Account löschen in iOS-Apps: den Ablauf vor Apple testen

> Löschbutton, verknüpfte Daten, Abo und erneute Anmeldung: ein konkreter Testplan, um diesen Ablauf vor dem Einreichen bei App Review zu prüfen.

Originalseite: [Account löschen in iOS-Apps: den Ablauf vor Apple testen](https://devoria.fr/de/blog/account-loeschen-ios-app-testen-vor-apple)
Autor: [Mehdi Azizi](https://devoria.fr/de/mehdi-azizi)
Veröffentlicht: 2026-10-02
Letzte inhaltliche Überarbeitung: 2026-10-09


## Der Button reicht nicht: Du musst prüfen, was verschwindet

Wenn man in deiner App einen Account anlegen kann, verlangt Apple, dass die Person seine Löschung direkt in der App starten kann. Eine bloße Deaktivierung erfüllt diese Anforderung nicht. Der Ablauf muss leicht zu finden sein und seine Folgen erklären. Wenn ein Teil im Web abgeschlossen wird, muss der Link direkt auf die passende Seite führen. [Quelle: Account-Löschung laut Apple](https://developer.apple.com/support/offering-account-deletion-in-your-app).

Mit einem roten Button in den Einstellungen ist die Arbeit also nicht getan. Du musst die Daten erfassen, die Löschung auf dem Server ausführen, Fehler behandeln und prüfen, was der Nutzer danach sieht. Dieser Guide liefert einen Produkt- und Technik-Testplan. Daten, für die eine Aufbewahrungspflicht gilt, brauchen eine Behandlung, die zu deinem Geschäft passt.

## Mit einer Datenkarte anfangen

Nehmen wir eine fiktive Lesetagebuch-App. Sie hat einen Account, ein Profil, private Notizen und vom Nutzer hinzugefügte Coverfotos. Das Beispiel unten beschreibt einen Plan zum Prüfen, keine Löschung, die schon in einer Devoria-App ausgeführt wurde.

- **Login-Identität:** Wie machst du den Account nach der Löschung unbrauchbar?
- **Profil und Notizen:** Welche Zeilen gehören dieser Person und wie werden sie gelöscht?
- **Gespeicherte Fotos:** Welcher Prozess entfernt die Dateien und ihre Referenzen?
- **Cache auf dem Gerät:** Löscht der Screen die lokalen Daten, wenn der Vorgang wirklich erfolgreich war?
- **Drittanbieter:** Brauchen die Daten zu diesem Account eine separate Löschung?
- **Aufzubewahrende Daten:** Welche, wegen welcher Pflicht, und wie wird der Nutzer informiert?

Diese Karte verhindert, dass du hinterher merkst, dass ein Foto noch erreichbar ist, obwohl der Nutzerdatensatz weg ist. Sie gibt dir außerdem die Objekte vor, nach denen du in den Tests suchst.

## Ein klarer Ablauf in vier Zuständen

Hier ein Vorschlag für die fiktive App, den du an die echten Folgen deines Produkts anpasst:

1. **Account-Einstellungen.** Ein Eintrag „Account löschen“ bleibt erreichbar.
2. **Bestätigung.** Der Screen beschreibt die betroffenen Daten und bietet eine Abbrechen-Aktion, die genauso verständlich ist wie die Löschaktion.
3. **Verarbeitung.** Der Button verhindert doppelte Anfragen und die Oberfläche zeigt, dass der Vorgang läuft.
4. **Ergebnis.** Ein bestätigter Erfolg führt in den abgemeldeten Zustand. Ein Fehler zeigt eine hilfreiche Meldung und eine Möglichkeit, es erneut zu versuchen, ohne zu behaupten, der Account sei weg.

Wenn die Verarbeitung Zeit braucht, akzeptiert Apple einen verzögerten Ablauf, sofern du die Person informierst und den Abschluss bestätigst. Die App darf nicht den Eindruck erwecken, die Löschung sei fertig, wenn nur die Anfrage gespeichert wurde. Dieselbe [Apple-Dokumentation](https://developer.apple.com/support/offering-account-deletion-in-your-app) erklärt auch die Fälle mit erneuter Authentifizierung und die Ausnahmen für stark regulierte Branchen.

## Was du bei Supabase einplanen musst

Das Löschen eines Auth-Nutzers allein beweist nicht, dass alle Objekte deines Produkts behandelt wurden. Supabase erklärt unter anderem, dass ein Nutzer, dem Storage-Objekte gehören, nicht gelöscht werden kann, solange das nicht gelöst ist. Die Dokumentation weist auch darauf hin, dass das Löschen eines Nutzers nicht sofort alle bereits ausgestellten JWTs abmeldet: Ihre Gültigkeit musst du im Design berücksichtigen. [Quelle: Nutzerverwaltung bei Supabase](https://supabase.com/docs/guides/auth/managing-user-data).

Definiere also einen serverseitigen Prozess, der die Identität des Anfragenden und die ihm gehörenden Ressourcen prüft. Verlass dich nicht auf eine ID, die das Telefon frei schickt, um den zu löschenden Account auszuwählen. Admin-Rechte bleiben auf dem Server, wie in der [Dokumentation zu den Supabase-Keys](https://supabase.com/docs/guides/getting-started/api-keys) beschrieben.

Bei einem Prozess mit mehreren Schritten legst du fest, was ein neuer Versuch tun soll, wenn ein erster Schritt geklappt hat und der nächste fehlgeschlagen ist. Wenn die Dateien zum Beispiel schon entfernt sind, darf eine neue Anfrage nicht nur deshalb scheitern, weil sie fehlen. Das ist ein Szenario, das du vor dem Test aufschreibst, kein Verhalten, das du einfach annimmst.

## Account und Abo: zwei getrennte Prüfungen

Eine Person kann ihren Account löschen, während ein Apple-Abo weiterläuft. Apple verlangt, dass du erklärst, was mit der Abrechnung passiert, und Zugang zur Abo-Verwaltung gibst. Plane außerdem den passenden Widerruf der Tokens ein, wenn du Sign in with Apple nutzt. Diese Punkte stehen ausführlich in den [Apple-Vorgaben zur Löschung](https://developer.apple.com/support/offering-account-deletion-in-your-app).

Trenne in deinem Testplan also das Verschwinden des Accounts, den Status des bezahlten Zugangs und die Abo-Verwaltung. Der Guide [Abo oder Einmalkauf](https://devoria.fr/de/blog/abo-oder-einmalkauf-ios-app) hilft dir, diesen Ablauf in dein Geschäftsmodell einzuordnen.

## Der Testplan für einen Test-Build

Nutze nur einen Testaccount und fiktive Daten. Notiere Build, Gerät, beobachtetes Ergebnis und die Grenzen jeder Prüfung.

1. **Abbrechen.** Account und Daten bleiben erreichbar.
2. **Einen gefüllten Account löschen.** Der Endzustand entspricht dem angekündigten Prozess, die betroffenen Daten sind tatsächlich entfernt.
3. **Netzwerk trennen.** Die App zeigt keinen vorgetäuschten Erfolg.
4. **Nach einem Teilfehler erneut starten.** Die Anfrage kann abgeschlossen werden, ohne andere Daten zu treffen.
5. **Eine zweite Sitzung öffnen.** Die alten Zugänge werden gemäß dem vorgesehenen Mechanismus behandelt.
6. **Einen Account mit derselben Adresse neu anlegen, falls erlaubt.** Die alten privaten Daten tauchen nicht wieder auf.

Füge diese Fälle zur [Devoria-Testliste](https://devoria.fr/de/resources) hinzu. Um sie an Tester zu verteilen, folge dem [TestFlight](https://devoria.fr/de/blog/testflight-iphone-app-testen)-Guide. Dass in der Konsole kein Fehler erscheint, ersetzt nicht die Prüfung der Daten und des Ablaufs.

## Das Einreichen bei App Review vorbereiten

Erkläre in deinen Review-Notizen, wo die Aktion ist und wie man sie testet. Wenn ein Schritt von einem Dienst abhängt, stell sicher, dass er während des Reviews verfügbar ist. Nutze die Notizen nicht, um eine Funktion zu versprechen, die im eingereichten Build noch nicht existiert.

Die Seite [App von Apple abgelehnt](https://devoria.fr/de/expertise/app-von-apple-abgelehnt) hilft dir, eine Antwort zu strukturieren, wenn schon ein Problem gemeldet wurde. Zur Vorbereitung hilft dir das [Apple Review Kit](https://devoria.fr/de/kits/review-apple), die zitierte Regel zu finden, zu verstehen, was sie verlangt, und liefert ein Beispiel für Korrektur und Antwort.

Wenn du deine erste Einreichung vorbereitest, sagt dir die [kostenlose Diagnose](https://devoria.fr/de/diagnostic), was noch zu tun ist, und schickt dir meine Checkliste gegen Apple-Ablehnungen, inklusive Account-Löschung. Wenn Apple deine App schon abgelehnt hat, [buch eine Stunde mit mir](https://devoria.fr/de/coaching): Wir lesen die Nachricht gemeinsam per Videocall.

## Häufige Fragen

### Ist die Account-Löschung in einer iOS-App Pflicht?

Ja, wenn man in deiner App einen Account anlegen kann: Apple verlangt, dass die Person seine Löschung in der App starten kann. Eine bloße Deaktivierung erfüllt diese Anforderung nicht. Der Ablauf muss leicht zu finden sein und seine Folgen erklären. Wenn ein Teil im Web abgeschlossen wird, muss der Link direkt auf die passende Seite führen.

### Was muss gelöscht werden, wenn ein Nutzer seinen Account löscht?

Alles, was der Person gehört, nicht nur ihr Nutzerdatensatz. Mach eine Liste: Login-Identität, Profil und erstellte Inhalte, gespeicherte Dateien und ihre Referenzen, Cache auf dem Gerät, Daten bei Drittanbietern. Notiere auch die aufzubewahrenden Daten und wegen welcher Pflicht, und informiere die Person. Ohne diese Bestandsaufnahme kann ein Foto erreichbar bleiben, obwohl der Nutzerdatensatz weg ist.

### Akzeptiert Apple eine Account-Löschung, die nicht sofort passiert?

Ja. Wenn die Verarbeitung Zeit braucht, akzeptiert Apple einen verzögerten Ablauf, sofern du die Person informierst und den Abschluss bestätigst. Die App darf nicht den Eindruck erwecken, die Löschung sei fertig, wenn nur die Anfrage gespeichert wurde. Bei einem Fehler zeigst du eine hilfreiche Meldung und eine Möglichkeit, es erneut zu versuchen, ohne zu behaupten, der Account sei weg.

### Was passiert mit dem Abo, wenn der Nutzer seinen Account löscht?

Das Apple-Abo kann nach der Account-Löschung weiterlaufen. Apple verlangt, dass du erklärst, was mit der Abrechnung passiert, und Zugang zur Abo-Verwaltung gibst. Wenn du Sign in with Apple nutzt, plane außerdem den passenden Widerruf der Tokens ein. Trenne in deinem Testplan das Verschwinden des Accounts, den Status des bezahlten Zugangs und die Abo-Verwaltung.

### Reicht es, den Nutzer in Supabase Auth zu löschen?

Nein, das Löschen eines Auth-Nutzers beweist nicht, dass alle Objekte deines Produkts behandelt wurden. Laut Supabase-Dokumentation kann ein Nutzer, dem Storage-Objekte gehören, nicht gelöscht werden, solange das nicht gelöst ist. Das Löschen eines Nutzers meldet außerdem nicht sofort alle bereits ausgestellten JWTs ab. Plane einen serverseitigen Prozess ein, der die Identität des Anfragenden prüft.

### Wie teste ich die Account-Löschung vor dem Einreichen bei Apple?

Nutze einen Testaccount und fiktive Daten auf einem Test-Build. Führe sechs Fälle aus: abbrechen, einen gefüllten Account löschen, das Netzwerk trennen, nach einem Teilfehler erneut starten, eine zweite Sitzung öffnen, einen Account mit derselben Adresse neu anlegen, falls erlaubt. Prüfe die Daten und den Ablauf: Dass in der Konsole kein Fehler erscheint, reicht nicht. Um deinen Build zu verteilen, folge dem [TestFlight](https://devoria.fr/de/blog/testflight-iphone-app-testen)-Guide.


## Dein Projekt

[Apple Review Kit](https://devoria.fr/de/kits/review-apple): Meine Checkliste für die App-Store-Review, meine korrigierten Apple-Ablehnungen, Notizen für den Tester und zwei Claude-Code-Skills, die deine App prüfen. 29 €.

[iOS Kit](https://devoria.fr/de/kits/ios): Bau deine iPhone-App mit Claude Code: der Starter Code meiner Apps, Skills, die seine Arbeit prüfen, plus Apple Review Kit, App Store Screenshots Kit und ASO Kit. 129,99 €.
