# Eliminazione account iOS: il flusso da testare prima di Apple

> Pulsante di eliminazione, dati collegati, abbonamento e nuovo accesso: un piano di test concreto per verificare il flusso prima dell'invio ad App Review.

Pagina originale: [Eliminazione account iOS: il flusso da testare prima di Apple](https://devoria.fr/it/blog/eliminazione-account-ios-flusso-test-apple)
Autore: [Mehdi Azizi](https://devoria.fr/it/mehdi-azizi)
Pubblicazione: 2026-10-02
Ultima revisione dei contenuti: 2026-10-09


## Il pulsante non basta: devi verificare cosa sparisce

Se la tua app permette di creare un account, Apple chiede che la persona possa avviarne l'eliminazione dall'app. Una semplice disattivazione non soddisfa questo requisito. Il flusso deve essere facile da trovare e spiegare le sue conseguenze. Se una parte si conclude sul Web, il link deve portare direttamente alla pagina giusta. [Fonte: l'eliminazione dell'account secondo Apple](https://developer.apple.com/support/offering-account-deletion-in-your-app).

Il lavoro quindi non finisce con un pulsante rosso nelle impostazioni. Devi fare l'inventario dei dati, eseguire l'eliminazione lato server, gestire gli errori e verificare cosa vede l'utente dopo. Questa guida propone un piano di test di prodotto e tecnico; i dati soggetti a un obbligo di conservazione richiedono una gestione adatta alla tua attività.

## Parti da una mappa dei dati

Prendiamo un'app fittizia di diario di lettura. Ha un account, un profilo, note private e foto di copertina aggiunte dall'utente. L'esempio qui sotto descrive un piano da verificare, non un'eliminazione già eseguita su un'app Devoria.

- **Identità di accesso:** come rendi l'account inutilizzabile dopo l'eliminazione?
- **Profilo e note:** quali righe appartengono a questa persona e come vengono eliminate?
- **Foto salvate:** quale processo rimuove i file e i loro riferimenti?
- **Cache del telefono:** la schermata cancella i dati locali quando l'operazione è davvero andata a buon fine?
- **Servizi di terze parti:** i dati legati a questo account richiedono un'eliminazione separata?
- **Dati da conservare:** quali, per quale obbligo, e con quale informazione all'utente?

Questa mappa ti evita di scoprire a posteriori che una foto resta accessibile mentre la scheda utente è sparita. Ti dà anche gli oggetti da cercare durante i test.

## Un flusso chiaro in quattro stati

Ecco una proposta per l'app fittizia, da adattare alle conseguenze reali del tuo prodotto:

1. **Impostazioni dell'account.** Una voce "Elimina il mio account" resta accessibile.
2. **Conferma.** La schermata descrive i dati coinvolti e presenta un'azione di annullamento comprensibile quanto l'azione di eliminazione.
3. **Elaborazione.** Il pulsante evita le richieste doppie e l'interfaccia indica che l'operazione è in corso.
4. **Risultato.** Un successo confermato apre lo stato disconnesso. Un errore mostra un messaggio utile e un modo per riprovare, senza far credere che l'account sia sparito.

Se l'elaborazione richiede tempo, Apple accetta un flusso differito, a patto di informare la persona e di confermare il completamento. L'app non deve far credere che un'eliminazione sia conclusa quando è stata solo registrata la richiesta. La stessa [documentazione Apple](https://developer.apple.com/support/offering-account-deletion-in-your-app) chiarisce anche i casi di nuova autenticazione e le eccezioni per le attività fortemente regolamentate.

## Cosa prevedere con Supabase

Eliminare un utente Auth non prova, da solo, che tutti gli oggetti del tuo prodotto siano stati gestiti. Supabase spiega in particolare che un utente che possiede oggetti Storage non può essere eliminato finché questa situazione non è risolta. La documentazione segnala anche che eliminare un utente non disconnette all'istante tutti i JWT già emessi: devi tenere conto della loro validità nella progettazione. [Fonte: gestione degli utenti Supabase](https://supabase.com/docs/guides/auth/managing-user-data).

Definisci quindi un processo lato server che verifica l'identità di chi fa la richiesta e le risorse che gli appartengono. Non fidarti di un identificativo inviato liberamente dal telefono per scegliere l'account da eliminare. I permessi di amministrazione restano lato server, come indicato nella [documentazione delle chiavi Supabase](https://supabase.com/docs/guides/getting-started/api-keys).

Per un processo in più passaggi, decidi cosa deve fare un nuovo tentativo se un primo passaggio è riuscito e il successivo è fallito. Per esempio, se i file sono già stati rimossi, una nuova richiesta non deve fallire solo perché non ci sono più. È uno scenario da scrivere prima del test, non un comportamento da dare per scontato.

## Account e abbonamento: due verifiche distinte

Una persona può eliminare il suo account mentre un abbonamento Apple continua. Apple chiede di spiegare cosa succede alla fatturazione e di dare accesso alla gestione dell'abbonamento. Prevedi anche la revoca appropriata dei token se usi Sign in with Apple. Questi punti sono dettagliati nelle [indicazioni di Apple sull'eliminazione](https://developer.apple.com/support/offering-account-deletion-in-your-app).

Nel tuo piano di test, separa quindi la scomparsa dell'account, lo stato dell'accesso a pagamento e la gestione dell'abbonamento. La guida [abbonamento o acquisto singolo](https://devoria.fr/it/blog/abbonamento-o-acquisto-unico-app-ios) ti aiuta a inserire questo flusso nel tuo modello di business.

## Il piano di test da eseguire su una build di test

Usa solo un account di test e dati fittizi. Annota la build, il dispositivo, il risultato osservato e i limiti di ogni verifica.

1. **Annullare.** L'account e i dati restano accessibili.
2. **Eliminare un account pieno di dati.** Lo stato finale corrisponde al processo annunciato; i dati coinvolti vengono davvero rimossi.
3. **Togliere la rete.** L'app non mostra un falso successo.
4. **Riprovare dopo un errore parziale.** La richiesta può andare a buon fine senza toccare altri dati.
5. **Aprire una seconda sessione.** I vecchi accessi vengono gestiti secondo il meccanismo previsto.
6. **Ricreare un account con lo stesso indirizzo, se consentito.** I vecchi dati privati non ricompaiono.

Aggiungi questi casi alla [griglia di test Devoria](https://devoria.fr/it/resources). Per distribuirli ai tester, segui la guida [TestFlight](https://devoria.fr/it/blog/testflight-testare-app-iphone-prima-invio). L'assenza di messaggi di errore nella console non sostituisce la verifica dei dati e del flusso.

## Preparare l'invio ad App Review

Nelle note per la revisione, spiega dove si trova l'azione e come testarla. Se un passaggio dipende da un servizio, assicurati che sia disponibile durante la revisione. Non usare le note per promettere una funzione che non esiste ancora nella build inviata.

La pagina [app rifiutata da Apple](https://devoria.fr/it/expertise/app-rifiutata-da-apple) ti aiuta a organizzare una risposta quando un problema è già stato segnalato. Per prepararla, l'[Apple Review Kit](https://devoria.fr/it/kits/review-apple) ti aiuta a ritrovare la regola citata, cosa richiede, e un esempio di correzione e di risposta.

Se stai preparando il tuo primo invio, il [diagnostic gratuito](https://devoria.fr/it/diagnostic) ti dice cosa resta da fare e ti manda la mia checklist anti-rifiuto Apple, eliminazione dell'account compresa. Se Apple ha già rifiutato la tua app, [prenota un'ora con me](https://devoria.fr/it/coaching): leggiamo il messaggio insieme, in videochiamata.

## Domande frequenti

### L'eliminazione dell'account è obbligatoria in un'app iOS?

Sì, se la tua app permette di creare un account: Apple chiede che la persona possa avviarne l'eliminazione dall'app. Una semplice disattivazione non soddisfa questo requisito. Il flusso deve essere facile da trovare e spiegare le sue conseguenze. Se una parte si conclude sul Web, il link deve portare direttamente alla pagina giusta.

### Cosa bisogna eliminare quando un utente elimina il suo account?

Tutto ciò che appartiene alla persona, non solo la sua scheda utente. Fai l'elenco: identità di accesso, profilo e contenuti creati, file salvati e i loro riferimenti, cache del telefono, dati presso servizi di terze parti. Annota anche i dati da conservare, per quale obbligo, e informa la persona. Senza questo inventario, una foto può restare accessibile mentre la scheda utente è sparita.

### Apple accetta un'eliminazione dell'account non immediata?

Sì. Se l'elaborazione richiede tempo, Apple accetta un flusso differito, a patto di informare la persona e di confermare il completamento. L'app non deve far credere che l'eliminazione sia conclusa quando è stata solo registrata la richiesta. In caso di errore, mostra un messaggio utile e un modo per riprovare, senza far credere che l'account sia sparito.

### Cosa succede all'abbonamento quando l'utente elimina il suo account?

L'abbonamento Apple può continuare dopo l'eliminazione dell'account. Apple chiede di spiegare cosa succede alla fatturazione e di dare accesso alla gestione dell'abbonamento. Se usi Sign in with Apple, prevedi anche la revoca appropriata dei token. Nel tuo piano di test, separa la scomparsa dell'account, lo stato dell'accesso a pagamento e la gestione dell'abbonamento.

### Basta eliminare l'utente in Supabase Auth?

No, eliminare un utente Auth non prova che tutti gli oggetti del tuo prodotto siano stati gestiti. Secondo la documentazione Supabase, un utente che possiede oggetti Storage non può essere eliminato finché questo punto non è risolto. Inoltre, eliminare un utente non disconnette all'istante tutti i JWT già emessi. Prevedi un processo lato server che verifica l'identità di chi fa la richiesta.

### Come testare l'eliminazione dell'account prima dell'invio ad Apple?

Usa un account di test e dati fittizi su una build di test. Esegui sei casi: annullare, eliminare un account pieno di dati, togliere la rete, riprovare dopo un errore parziale, aprire una seconda sessione, ricreare un account con lo stesso indirizzo se consentito. Verifica i dati e il flusso: l'assenza di errori nella console non basta. Per distribuire la tua build, segui la guida [TestFlight](https://devoria.fr/it/blog/testflight-testare-app-iphone-prima-invio).


## Il tuo progetto

[Apple Review Kit](https://devoria.fr/it/kits/review-apple): La checklist review App Store che uso, i miei rifiuti di Apple corretti, le note per il revisore e due skill Claude Code che rileggono la tua app. 29 €.

[iOS Kit](https://devoria.fr/it/kits/ios): Crea la tua app iPhone con Claude Code: lo Starter Code delle mie app, gli skill che verificano il suo lavoro, e l'Apple Review Kit, l'App Store Screenshots Kit e l'ASO Kit. 129,99 €.
