# iOS-tilin poisto: testaa polku ennen Applea

> Poistopainike, tiedot, tilaus ja uudelleenkirjautuminen: konkreettinen testilista tilin poistopolulle ennen kuin lähetät appin App Review'hun.

Alkuperäinen sivu: [iOS-tilin poisto: testaa polku ennen Applea](https://devoria.fr/fi/blog/ios-tilin-poisto-testaa-ennen-applea)
Kirjoittaja: [Mehdi Azizi](https://devoria.fr/fi/mehdi-azizi)
Julkaistu: 2026-10-02
Sisältö tarkistettu viimeksi: 2026-10-09


## Pelkkä painike ei riitä: tarkista, mitä oikeasti katoaa

Jos appissasi voi luoda tilin, Apple vaatii, että käyttäjä voi käynnistää sen poiston appin sisältä. Pelkkä tilin deaktivointi ei täytä vaatimusta. Polun pitää olla helppo löytää, ja sen pitää kertoa seuraukset. Jos osa prosessista viedään loppuun verkossa, linkin pitää viedä suoraan oikealle sivulle. [Lähde: Applen ohje tilin poistosta](https://developer.apple.com/support/offering-account-deletion-in-your-app).

Työ ei siis lopu punaiseen painikkeeseen asetuksissa. Sinun pitää kartoittaa tiedot, suorittaa poisto palvelimella, käsitellä virheet ja tarkistaa, mitä käyttäjä näkee sen jälkeen. Tämä opas tarjoaa tuote- ja teknisen testilistan. Tiedot, joita koskee säilytysvelvollisuus, vaativat toimintaasi sopivan käsittelyn.

## Aloita tietokartasta

Otetaan esimerkiksi kuvitteellinen lukupäiväkirja-appi. Siinä on tili, profiili, yksityisiä muistiinpanoja ja käyttäjän lisäämiä kansikuvia. Alla oleva esimerkki kuvaa tarkistettavaa suunnitelmaa, ei poistoa, joka olisi jo tehty jossain Devorian appissa.

- **Kirjautumistunniste:** miten tili tehdään käyttökelvottomaksi poiston jälkeen?
- **Profiili ja muistiinpanot:** mitkä rivit kuuluvat tälle henkilölle ja miten ne poistetaan?
- **Tallennetut kuvat:** mikä käsittely poistaa tiedostot ja niiden viittaukset?
- **Puhelimen välimuisti:** tyhjentääkö näkymä paikalliset tiedot vasta, kun toiminto on oikeasti onnistunut?
- **Kolmannen osapuolen palvelut:** vaativatko tähän tiliin liittyvät tiedot erillisen poiston?
- **Säilytettävät tiedot:** mitkä, minkä velvoitteen takia, ja miten käyttäjälle kerrotaan siitä?

Kartan avulla et huomaa jälkikäteen, että kuva on yhä saatavilla, vaikka käyttäjätietue on kadonnut. Saat siitä myös listan asioista, joita etsiä testeissä.

## Selkeä polku neljässä tilassa

Tässä ehdotus kuvitteelliseen appiin. Sovita se tuotteesi todellisiin seurauksiin:

1. **Tilin asetukset.** Kohta "Poista tilini" on aina saatavilla.
2. **Vahvistus.** Näkymä kertoo, mitä tietoja poisto koskee, ja tarjoaa peruutusvaihtoehdon, joka on yhtä selkeä kuin poistotoiminto.
3. **Käsittely.** Painike estää tuplapyynnöt, ja käyttöliittymä näyttää, että toiminto on käynnissä.
4. **Tulos.** Vahvistettu onnistuminen vie uloskirjautuneeseen tilaan. Epäonnistuminen näyttää hyödyllisen viestin ja tavan yrittää uudelleen, väittämättä että tili on poistettu.

Jos käsittely vie aikaa, Apple hyväksyy viivästetyn polun, kunhan kerrot asiasta käyttäjälle ja vahvistat, kun poisto on valmis. Appi ei saa antaa ymmärtää, että poisto on valmis, jos vain pyyntö on kirjattu. Sama [Applen dokumentaatio](https://developer.apple.com/support/offering-account-deletion-in-your-app) tarkentaa myös uudelleentunnistautumisen tilanteet ja tiukasti säänneltyjen alojen poikkeukset.

## Mitä Supabasen kanssa pitää ennakoida

Auth-käyttäjän poistaminen ei yksinään todista, että kaikki tuotteesi objektit on käsitelty. Supabase kertoo muun muassa, että käyttäjää, jolla on Storage-objekteja, ei voi poistaa ennen kuin tilanne on ratkaistu. Dokumentaatio huomauttaa myös, että käyttäjän poistaminen ei kirjaa heti ulos kaikkia jo myönnettyjä JWT-tokeneita: niiden voimassaolo pitää ottaa huomioon suunnittelussa. [Lähde: käyttäjien hallinta Supabasessa](https://supabase.com/docs/guides/auth/managing-user-data).

Määrittele siis palvelinpuolen käsittely, joka tarkistaa pyytäjän henkilöllisyyden ja hänelle kuuluvat resurssit. Älä luota puhelimen vapaasti lähettämään tunnisteeseen, kun valitset poistettavan tilin. Ylläpito-oikeudet pysyvät palvelimella, kuten [Supabasen avaimia koskeva dokumentaatio](https://supabase.com/docs/guides/getting-started/api-keys) ohjeistaa.

Jos käsittelyssä on useita vaiheita, päätä, mitä uuden yrityksen pitää tehdä, jos ensimmäinen vaihe onnistui ja seuraava epäonnistui. Jos esimerkiksi tiedostot on jo poistettu, uusi pyyntö ei saa epäonnistua vain siksi, että niitä ei löydy. Tämä on skenaario, joka kirjoitetaan ennen testiä, ei käytös, jonka voi olettaa.

## Tili ja tilaus: kaksi erillistä tarkistusta

Käyttäjä voi poistaa tilinsä, vaikka Apple-tilaus jatkuu. Apple vaatii kertomaan, mitä laskutukselle tapahtuu, ja antamaan pääsyn tilauksen hallintaan. Varaudu myös tokenien asianmukaiseen mitätöintiin, jos käytät Sign in with Applea. Nämä kohdat on kuvattu tarkemmin [Applen poisto-ohjeissa](https://developer.apple.com/support/offering-account-deletion-in-your-app).

Erottele siis testisuunnitelmassasi tilin katoaminen, maksullisen käyttöoikeuden tila ja tilauksen hallinta. Opas [tilaus vai kertaosto](https://devoria.fr/fi/blog/tilaus-vai-kertaosto-ios-sovellus) auttaa sijoittamaan tämän polun ansaintamalliisi.

## Testilista testibuildille

Käytä vain testitiliä ja kuvitteellisia tietoja. Kirjaa ylös build, laite, havaittu tulos ja kunkin tarkistuksen rajoitukset.

1. **Peruuta.** Tili ja tiedot pysyvät saatavilla.
2. **Poista täytetty tili.** Lopputila vastaa luvattua käsittelyä, ja kyseiset tiedot on oikeasti poistettu.
3. **Katkaise verkkoyhteys.** Appi ei näytä valheellista onnistumista.
4. **Yritä uudelleen osittaisen epäonnistumisen jälkeen.** Pyyntö voi onnistua kohdistumatta muihin tietoihin.
5. **Avaa toinen istunto.** Vanhat käyttöoikeudet käsitellään suunnitellun mekanismin mukaisesti.
6. **Luo uusi tili samalla osoitteella, jos se on sallittua.** Vanhat yksityiset tiedot eivät palaa näkyviin.

Lisää nämä tapaukset [Devorian testilistaan](https://devoria.fr/fi/resources). Jos haluat jakaa ne testaajille, seuraa [TestFlight](https://devoria.fr/fi/blog/testflight-testaa-iphone-sovellus-ennen-lahetysta)-opasta. Se, ettei konsolissa näy virheilmoitusta, ei korvaa tietojen ja polun tarkistamista.

## Valmistele lähetys App Review'hun

Kerro arviointimuistiinpanoissa, missä toiminto on ja miten sitä testataan. Jos jokin vaihe riippuu palvelusta, varmista että se on käytettävissä arvioinnin aikana. Älä käytä muistiinpanoja lupaamaan toimintoa, jota lähetetyssä buildissa ei vielä ole.

Sivu [Applen hylkäämä appi](https://devoria.fr/fi/expertise/apple-hylkasi-sovelluksen) auttaa jäsentämään vastauksen, kun ongelma on jo ilmoitettu. Vastauksen valmisteluun [Apple Review Kit](https://devoria.fr/fi/kits/review-apple) auttaa löytämään mainitun säännön, sen vaatimukset sekä esimerkin korjauksesta ja vastauksesta.

Jos valmistelet ensimmäistä lähetystäsi, [ilmainen diagnoosi](https://devoria.fr/fi/diagnostic) kertoo, mitä on vielä tehtävä, ja lähettää sinulle Applen hylkäysten estämiseen tekemäni tarkistuslistan, tilin poisto mukaan lukien. Jos Apple on jo hylännyt appisi, [varaa tunti kanssani](https://devoria.fr/fi/coaching): luemme viestin yhdessä videopuhelussa.

## Usein kysytyt kysymykset

### Onko tilin poisto pakollinen iOS-appissa?

Kyllä, jos appissasi voi luoda tilin: Apple vaatii, että käyttäjä voi käynnistää sen poiston appin sisältä. Pelkkä deaktivointi ei täytä vaatimusta. Polun pitää olla helppo löytää, ja sen pitää kertoa seuraukset. Jos osa prosessista viedään loppuun verkossa, linkin pitää viedä suoraan oikealle sivulle.

### Mitä pitää poistaa, kun käyttäjä poistaa tilinsä?

Kaikki, mikä kuuluu henkilölle, ei vain hänen käyttäjätietuettaan. Tee lista: kirjautumistunniste, profiili ja luotu sisältö, tallennetut tiedostot ja niiden viittaukset, puhelimen välimuisti, tiedot kolmansien osapuolten palveluissa. Kirjaa myös säilytettävät tiedot ja niiden velvoite, ja kerro niistä käyttäjälle. Ilman tätä kartoitusta kuva voi jäädä saataville, vaikka käyttäjätietue on kadonnut.

### Hyväksyykö Apple tilin poiston, joka ei tapahdu heti?

Kyllä. Jos käsittely vie aikaa, Apple hyväksyy viivästetyn polun, kunhan kerrot asiasta käyttäjälle ja vahvistat, kun poisto on valmis. Appi ei saa antaa ymmärtää, että poisto on valmis, jos vain pyyntö on kirjattu. Epäonnistuessa näytä hyödyllinen viesti ja tapa yrittää uudelleen, väittämättä että tili on poistettu.

### Mitä tilaukselle tapahtuu, kun käyttäjä poistaa tilinsä?

Apple-tilaus voi jatkua tilin poiston jälkeen. Apple vaatii kertomaan, mitä laskutukselle tapahtuu, ja antamaan pääsyn tilauksen hallintaan. Jos käytät Sign in with Applea, varaudu myös tokenien asianmukaiseen mitätöintiin. Erottele testisuunnitelmassasi tilin katoaminen, maksullisen käyttöoikeuden tila ja tilauksen hallinta.

### Riittääkö, että poistan käyttäjän Supabase Authista?

Ei. Auth-käyttäjän poistaminen ei todista, että kaikki tuotteesi objektit on käsitelty. Supabasen dokumentaation mukaan käyttäjää, jolla on Storage-objekteja, ei voi poistaa ennen kuin asia on ratkaistu. Käyttäjän poistaminen ei myöskään kirjaa heti ulos kaikkia jo myönnettyjä JWT-tokeneita. Suunnittele palvelinpuolen käsittely, joka tarkistaa pyytäjän henkilöllisyyden.

### Miten testaan tilin poiston ennen lähetystä Applelle?

Käytä testitiliä ja kuvitteellisia tietoja testibuildilla. Käy läpi kuusi tapausta: peruuta, poista täytetty tili, katkaise verkkoyhteys, yritä uudelleen osittaisen epäonnistumisen jälkeen, avaa toinen istunto ja luo uusi tili samalla osoitteella, jos se on sallittua. Tarkista tiedot ja polku: se, ettei konsolissa näy virhettä, ei riitä. Buildin jakamiseen seuraa [TestFlight](https://devoria.fr/fi/blog/testflight-testaa-iphone-sovellus-ennen-lahetysta)-opasta.


## Projektisi

[Apple Review Kit](https://devoria.fr/fi/kits/review-apple): Käyttämäni App Store -reviewn tarkistuslista, korjatut Applen hylkäykseni, muistiinpanot testaajalle ja kaksi Claude Code -skilliä, jotka tarkistavat appisi. 29 €.

[iOS Kit](https://devoria.fr/fi/kits/ios): Tee iPhone-appisi Claude Coden avulla: omien appieni aloituskoodi, työn tarkistavat skillit sekä Apple Review Kit, App Store Screenshots Kit ja ASO Kit. 129,99 €.
