Ștergerea contului în app iOS: ce testezi înainte de Apple
De Mehdi Azizi
Actualizat pe , 7 min.
Butonul de ștergere, datele asociate, abonamentul și reconectarea: un plan concret de testare a acestui flux înainte de trimiterea la App Review.
Butonul nu e suficient: trebuie să verifici ce dispare
Dacă aplicația ta permite crearea unui cont, Apple cere ca persoana să poată porni ștergerea lui din aplicație. O simplă dezactivare nu îndeplinește această cerință. Fluxul trebuie să fie ușor de găsit și să explice consecințele. Dacă o parte se termină pe Web, linkul trebuie să ducă direct la pagina respectivă. Sursă: ștergerea contului după Apple.
Deci treaba nu se oprește la un buton roșu în setări. Trebuie să faci inventarul datelor, să execuți ștergerea pe server, să tratezi erorile și să verifici ce vede utilizatorul după aceea. Ghidul ăsta îți propune un plan de testare de produs și tehnic. Datele supuse unei obligații de păstrare cer un tratament adaptat activității tale.
Începe cu o hartă a datelor
Să luăm o aplicație fictivă de jurnal de lectură. Are un cont, un profil, notițe private și poze de copertă adăugate de utilizator. Exemplul de mai jos descrie un plan de verificat, nu o ștergere deja executată pe o aplicație Devoria.
- Identitatea de autentificare: cum faci contul inutilizabil după ștergere?
- Profil și notițe: ce rânduri aparțin acestei persoane și cum sunt șterse?
- Poze stocate: ce proces elimină fișierele și referințele lor?
- Cache-ul telefonului: ecranul șterge datele locale atunci când operația chiar a reușit?
- Servicii terțe: datele legate de acest cont au nevoie de o ștergere separată?
- Date de păstrat: care anume, pentru ce obligație și cum îl informezi pe utilizator?
Harta asta te scutește să descoperi abia după aceea că o poză rămâne accesibilă deși fișa utilizatorului a dispărut. Îți dă și obiectele pe care să le cauți în teste.
Un flux clar în patru stări
Iată o propunere pentru aplicația fictivă, de adaptat la consecințele reale ale produsului tău:
- Setările contului. O opțiune „Șterge contul" rămâne accesibilă.
- Confirmare. Ecranul descrie datele vizate și oferă o acțiune de anulare la fel de ușor de înțeles ca acțiunea de ștergere.
- Procesare. Butonul previne cererile duble, iar interfața arată că operația e în curs.
- Rezultat. Un succes confirmat duce la starea deconectată. Un eșec păstrează un mesaj util și o modalitate de a reîncerca, fără să pretindă că contul a dispărut.
Dacă procesarea durează, Apple acceptă un flux amânat, cu condiția să informezi persoana și să confirmi finalizarea. Aplicația nu trebuie să lase impresia că ștergerea s-a terminat când doar cererea a fost înregistrată. Aceeași documentație Apple precizează și cazurile de reautentificare și excepțiile specifice activităților puternic reglementate.
Ce trebuie să anticipezi cu Supabase
Ștergerea unui utilizator Auth nu este, singură, dovada că toate obiectele produsului tău au fost tratate. Supabase explică, printre altele, că un utilizator care deține obiecte Storage nu poate fi șters cât timp situația asta nu e rezolvată. Documentația semnalează și că ștergerea unui utilizator nu deconectează instantaneu toate JWT-urile deja emise: valabilitatea lor trebuie luată în calcul în design. Sursă: gestionarea utilizatorilor Supabase.
Așa că definește un proces pe server care verifică identitatea celui care face cererea și resursele care îi aparțin. Nu te baza pe un identificator trimis liber de telefon ca să alegi contul de șters. Drepturile de administrare rămân pe server, conform documentației despre cheile Supabase.
Pentru un proces în mai mulți pași, decide ce trebuie să facă o nouă încercare dacă un prim pas a reușit și următorul a eșuat. De exemplu, dacă fișierele au fost deja eliminate, o nouă cerere nu trebuie să eșueze doar pentru că ele lipsesc. E un scenariu de scris înainte de test, nu un comportament de presupus.
Cont și abonament: două verificări separate
O persoană își poate șterge contul în timp ce un abonament Apple continuă. Apple cere să explici ce se întâmplă cu facturarea și să oferi acces la gestionarea abonamentului. Prevede și revocarea corespunzătoare a tokenurilor dacă folosești Sign in with Apple. Punctele astea sunt detaliate în instrucțiunile Apple despre ștergere.
În planul tău de test, separă deci dispariția contului, starea accesului plătit și gestionarea abonamentului. Ghidul abonament sau cumpărare unică te ajută să încadrezi acest flux în modelul tău de business.
Testele de rulat pe un build de test
Folosește doar un cont de test și date fictive. Notează build-ul, dispozitivul, rezultatul observat și limitele fiecărei verificări.
- Anulează. Contul și datele rămân accesibile.
- Șterge un cont plin. Starea finală corespunde procesului anunțat, iar datele vizate sunt efectiv eliminate.
- Taie rețeaua. Aplicația nu afișează un succes fals.
- Reîncearcă după un eșec parțial. Cererea poate reuși fără să vizeze alte date.
- Deschide o a doua sesiune. Accesele vechi sunt tratate conform mecanismului prevăzut.
- Recreează un cont cu aceeași adresă, dacă e permis. Datele private vechi nu reapar.
Adaugă aceste cazuri în grila de testare Devoria. Ca să le distribui testerilor, urmează ghidul TestFlight. Lipsa mesajelor de eroare în consolă nu înlocuiește verificarea datelor și a fluxului.
Pregătește trimiterea la App Review
În notele pentru review, explică unde se află acțiunea și cum se testează. Dacă un pas depinde de un serviciu, asigură-te că e disponibil în timpul review-ului. Nu folosi notele ca să promiți o funcție care nu există încă în build-ul trimis.
Pagina aplicație respinsă de Apple te ajută să organizezi un răspuns când o problemă a fost deja semnalată. Ca să-l pregătești, Apple Review Kit te ajută să găsești regula citată, ce cere ea, plus un exemplu de corectură și de răspuns.
Dacă îți pregătești prima trimitere, diagnosticul gratuit îți spune ce mai ai de făcut și îți trimite checklist-ul meu anti-respingere Apple, inclusiv ștergerea contului. Dacă Apple ți-a respins deja aplicația, rezervă o oră cu mine: citim mesajul împreună, prin video.
Întrebări frecvente
Ștergerea contului e obligatorie într-o aplicație iOS?
Da, dacă aplicația ta permite crearea unui cont: Apple cere ca persoana să poată porni ștergerea lui din aplicație. O simplă dezactivare nu îndeplinește această cerință. Fluxul trebuie să fie ușor de găsit și să explice consecințele. Dacă o parte se termină pe Web, linkul trebuie să ducă direct la pagina respectivă.
Ce trebuie șters când un utilizator își șterge contul?
Tot ce îi aparține persoanei, nu doar fișa de utilizator. Fă lista: identitatea de autentificare, profilul și conținutul creat, fișierele stocate și referințele lor, cache-ul telefonului, datele de la servicii terțe. Notează și datele de păstrat, pentru ce obligație, și informează persoana. Fără acest inventar, o poză poate rămâne accesibilă deși fișa utilizatorului a dispărut.
Acceptă Apple o ștergere a contului care nu e imediată?
Da. Dacă procesarea durează, Apple acceptă un flux amânat, cu condiția să informezi persoana și să confirmi finalizarea. Aplicația nu trebuie să lase impresia că ștergerea s-a terminat când doar cererea a fost înregistrată. În caz de eșec, păstrează un mesaj util și o modalitate de a reîncerca, fără să pretinzi că contul a dispărut.
Ce se întâmplă cu abonamentul când utilizatorul își șterge contul?
Abonamentul Apple poate continua după ștergerea contului. Apple cere să explici ce se întâmplă cu facturarea și să oferi acces la gestionarea abonamentului. Dacă folosești Sign in with Apple, prevede și revocarea corespunzătoare a tokenurilor. În planul de test, separă dispariția contului, starea accesului plătit și gestionarea abonamentului.
E suficient să ștergi utilizatorul din Supabase Auth?
Nu, ștergerea unui utilizator Auth nu dovedește că toate obiectele produsului tău au fost tratate. Conform documentației Supabase, un utilizator care deține obiecte Storage nu poate fi șters cât timp problema asta nu e rezolvată. Nici ștergerea unui utilizator nu deconectează instantaneu toate JWT-urile deja emise. Prevede un proces pe server care verifică identitatea celui care face cererea.
Cum testezi ștergerea contului înainte de trimiterea la Apple?
Folosește un cont de test și date fictive pe un build de test. Rulează șase cazuri: anulare, ștergerea unui cont plin, tăierea rețelei, reîncercarea după un eșec parțial, deschiderea unei a doua sesiuni, recrearea unui cont cu aceeași adresă dacă e permis. Verifică datele și fluxul: lipsa erorilor în consolă nu e suficientă. Ca să-ți distribui build-ul, urmează ghidul TestFlight.