Wie alle Daten einer App löschen?

nachtwächter123

Cadet 4th Year
Registriert
Dez. 2022
Beiträge
124
Ich entwickle gerade eine App mit Flutter (Tool um mit einer Code-Basis Apps für Android und iOS zu erstellen). Beim Testen auf iOS habe ich keine Möglichkeit gefunden, wie bei Android, alle (Cache-)Daten der App zu löschen, damit beim Start der App es quasi wie neu installiert ist.

Wenn ich meine App explizit lösche (nicht nur vom Homescreen) und dann wieder installiere scheinen nicht alle Daten gelöscht wurden zu sein, da ich sofort wieder eingeloggt bin und nicht im Welcome-Wizard lande. Es werden also scheinbar die lokal gespeicherten Daten, dass der Wizard bereits durchlaufen wurde und Firebase-User-Daten nicht gelöscht und die App kann sie nach der Neuinstallation wieder nutzen. Das möchte ich aber eigentlich nicht, da es das Testen erschwert. Auch ein iPhone-Neustart nach Deinstallation und vor der Neuinstallation hat nichts gebracht. Ich speichere explizit nichts in der Cloud oder Keychain (zumindest nicht bewusst).

Hat jemand von euch noch eine Idee, wie man die alten Daten los wird? Factory-Reset für jeden Testlauf wäre nicht so wirklich prickelnd.
 
Cache von Apps kann mein bei iOS leider nicht gesondert löschen. Mir fällt auch kein alternativer Weg ein, die App Reste loszuwerden.

Du kannst die App deinstallieren und wenn Du ein iPhone mit FaceID hast einen Force Reboot

zügig hintereinander:
Lauter, Leiser, Ausschalten gedrückt halten bis das Apple Logo erscheint.
 
  • Gefällt mir
Reaktionen: nachtwächter123
Hatte das neulich genutzt, weil ich Probleme mit der Wiederherstellung mit iTunes hatte. Da habe ich die Cache-Bereinigung von 3 großen Apps durchgeführt und den Akku kalibriert. War mit dem Ergebnis zufrieden und die Akkulaufzeit hat sich deutlich verbessert.

Normalerweise bereinigt sich der Cache sporadisch automatisch. Bei manchen Apps kann man ihn auch intern löschen. Bei Anderen wächst er ins Unermessliche.

Die, von dir angebene url ist die Richtige und die, die mir damals chatgpt vorgeschlagen hatte. Hatte es vorhin nur schnell gegoogelt und möglicherweise die Falsche erwischt.
 
  • Gefällt mir
Reaktionen: nachtwächter123
Ok, Danke dir! Habe jetzt auch erst Mal in meine App eine Funktion eingebaut, um die App-Daten auf Knopfdruck zu löschen. Die App scheint mir ein wenig zu suspekt. :p
 
  • Gefällt mir
Reaktionen: SenyorS
Nur Daten die in CloudKit oder in der Keychain gespeichert sind, bleiben nach dem Löschen einer App erhalten. Alle anderen Daten sind im Bundle gespeichert, und werden gelöscht.

Die Firebase Auth Session wird auf dem Gerät des Nutzers im iOS Keychain gespeichert.
Rufe manuell folgende Methoden auf:
Swift:
await FirebaseFirestore.instance.terminate();
await FirebaseFirestore.instance.clearPersistence();

Für deinen Onboarding Prozess kannst du eine Flag in NSUserDefaults setzen. Beim Deinstallieren werden die Daten in NSUserDefaults gelöscht. Vielleicht gibt es in Flutter eine Abstraktion für die API wie in SwiftUI @AppData
 
  • Gefällt mir
Reaktionen: knoxxi und nachtwächter123
Danke! Dass klingt nach jemandem, der tiefer in der Materie steckt. Der Hinweis zu Firebase-Auth ist sehr hilfreich. Werde das mit in meine Debug-Löschen-Funktion aufnehmen.
 
Zurück
Oben