# Pemadaman akaun iOS: aliran yang perlu diuji sebelum Apple

> Butang pemadaman, data berkaitan, langganan dan log masuk semula: cara konkrit untuk menguji aliran ini sebelum dihantar ke App Review.

Halaman asal: [Pemadaman akaun iOS: aliran yang perlu diuji sebelum Apple](https://devoria.fr/ms/blog/pemadaman-akaun-ios-uji-sebelum-apple)
Pengarang: [Mehdi Azizi](https://devoria.fr/ms/mehdi-azizi)
Diterbitkan: 2026-10-02
Semakan kandungan terakhir: 2026-10-09


## Butang sahaja tidak cukup: anda perlu semak apa yang benar-benar hilang

Jika app anda membenarkan pengguna mencipta akaun, Apple mahu orang itu boleh memulakan pemadamannya dari dalam app. Sekadar menyahaktifkan akaun tidak memenuhi syarat ini. Aliran itu mesti mudah dijumpai dan menerangkan akibatnya. Jika sebahagian proses selesai di Web, pautan mesti terus membawa ke halaman yang berkaitan. [Sumber: pemadaman akaun menurut Apple](https://developer.apple.com/support/offering-account-deletion-in-your-app).

Jadi kerjanya tidak berhenti pada butang merah dalam tetapan. Anda perlu menyenaraikan data, menjalankan pemadaman di sisi pelayan, mengendalikan ralat dan menyemak apa yang pengguna lihat selepas itu. Panduan ini mencadangkan senarai ujian produk dan teknikal. Data yang tertakluk kepada kewajipan penyimpanan memerlukan pengendalian yang sesuai dengan aktiviti anda.

## Mulakan dengan peta data

Ambil contoh app rekaan untuk buku catatan bacaan. Ia ada akaun, profil, nota peribadi dan foto kulit buku yang ditambah oleh pengguna. Contoh di bawah menerangkan pelan untuk disemak, bukan pemadaman yang sudah dijalankan pada app Devoria.

- **Identiti log masuk:** bagaimana menjadikan akaun tidak boleh digunakan selepas pemadaman?
- **Profil dan nota:** baris mana milik orang ini dan bagaimana ia dipadam?
- **Foto yang disimpan:** proses mana yang membuang fail dan rujukannya?
- **Cache telefon:** adakah skrin memadam data tempatan apabila operasi benar-benar berjaya?
- **Perkhidmatan pihak ketiga:** adakah data yang dikaitkan dengan akaun ini perlu dipadam secara berasingan?
- **Data yang perlu disimpan:** yang mana, untuk kewajipan apa, dan bagaimana pengguna dimaklumkan?

Peta ini mengelakkan anda mendapati kemudian bahawa sebuah foto masih boleh diakses walaupun rekod pengguna sudah hilang. Ia juga memberi anda objek yang perlu dicari semasa ujian.

## Aliran yang jelas dalam empat keadaan

Berikut cadangan untuk app rekaan itu. Sesuaikan dengan akibat sebenar produk anda:

1. **Tetapan akaun.** Pilihan "Padam akaun saya" sentiasa boleh diakses.
2. **Pengesahan.** Skrin menerangkan data yang terlibat dan memaparkan tindakan batal yang sama jelas dengan tindakan padam.
3. **Pemprosesan.** Butang mengelakkan permintaan berganda dan antara muka menunjukkan operasi sedang berjalan.
4. **Keputusan.** Kejayaan yang disahkan membuka keadaan log keluar. Kegagalan mengekalkan mesej yang berguna dan cara untuk cuba semula, tanpa mendakwa akaun sudah hilang.

Jika pemprosesan mengambil masa, Apple menerima aliran tertunda dengan syarat orang itu dimaklumkan dan penyiapannya disahkan. App tidak boleh membuat orang percaya pemadaman sudah selesai sedangkan hanya permintaan yang direkodkan. [Dokumentasi Apple](https://developer.apple.com/support/offering-account-deletion-in-your-app) yang sama juga menerangkan kes pengesahan semula dan pengecualian untuk aktiviti yang dikawal selia dengan ketat.

## Perkara yang perlu dijangka dengan Supabase

Memadam pengguna Auth, dengan sendirinya, bukan bukti bahawa semua objek produk anda telah diproses. Supabase menerangkan antara lain bahawa pengguna yang memiliki objek Storage tidak boleh dipadam selagi keadaan ini tidak diselesaikan. Dokumentasinya juga menyatakan bahawa memadam pengguna tidak serta-merta melog keluar semua JWT yang sudah dikeluarkan: tempoh sahnya perlu diambil kira dalam reka bentuk. [Sumber: pengurusan pengguna Supabase](https://supabase.com/docs/guides/auth/managing-user-data).

Jadi, tentukan proses pelayan yang mengesahkan identiti peminta dan sumber yang dimilikinya. Jangan bergantung pada ID yang dihantar sesuka hati oleh telefon untuk memilih akaun yang hendak dipadam. Hak pentadbiran kekal di sisi pelayan, selaras dengan [dokumentasi kunci Supabase](https://supabase.com/docs/guides/getting-started/api-keys).

Untuk proses berbilang langkah, tentukan apa yang perlu dibuat oleh percubaan baharu jika langkah pertama berjaya tetapi langkah seterusnya gagal. Contohnya, jika fail sudah dibuang, permintaan baharu tidak sepatutnya gagal hanya kerana fail itu tiada. Ini senario yang perlu ditulis sebelum ujian, bukan tingkah laku yang diandaikan.

## Akaun dan langganan: dua semakan berasingan

Seseorang boleh memadam akaunnya sedangkan langganan Apple masih berjalan. Apple mahu anda menerangkan apa yang berlaku pada pengebilan dan memberi akses kepada pengurusan langganan. Rancang juga pembatalan token yang sesuai jika anda menggunakan Sign in with Apple. Perkara ini diperincikan dalam [garis panduan Apple tentang pemadaman](https://developer.apple.com/support/offering-account-deletion-in-your-app).

Dalam pelan ujian anda, asingkan pemadaman akaun, status akses berbayar dan pengurusan langganan. Panduan [langganan atau pembelian sekali](https://devoria.fr/ms/blog/langganan-atau-pembelian-sekali-aplikasi-ios) membantu meletakkan aliran ini dalam model perniagaan anda.

## Senarai ujian untuk dijalankan pada build ujian

Gunakan akaun ujian dan data rekaan sahaja. Catat build, peranti, keputusan yang diperhatikan dan had setiap semakan.

1. **Batal.** Akaun dan data kekal boleh diakses.
2. **Padam akaun yang berisi data.** Keadaan akhir sepadan dengan proses yang diumumkan. Data yang terlibat benar-benar dibuang.
3. **Putuskan rangkaian.** App tidak memaparkan kejayaan palsu.
4. **Cuba semula selepas kegagalan separa.** Permintaan boleh berjaya tanpa menyasarkan data lain.
5. **Buka sesi kedua.** Akses lama dikendalikan mengikut mekanisme yang dirancang.
6. **Cipta semula akaun dengan alamat yang sama, jika dibenarkan.** Data peribadi lama tidak muncul semula.

Tambah kes ini ke dalam [grid ujian Devoria](https://devoria.fr/ms/resources). Untuk mengedarkannya kepada penguji, ikut panduan [TestFlight](https://devoria.fr/ms/blog/testflight-uji-aplikasi-iphone-sebelum-hantar). Ketiadaan mesej ralat dalam konsol tidak menggantikan semakan data dan aliran.

## Bersedia untuk hantar ke App Review

Dalam nota semakan anda, terangkan di mana tindakan itu berada dan cara mengujinya. Jika satu langkah bergantung pada sesuatu perkhidmatan, pastikan ia tersedia semasa semakan. Jangan gunakan nota untuk menjanjikan fungsi yang belum wujud dalam build yang dihantar.

Halaman [app ditolak oleh Apple](https://devoria.fr/ms/expertise/aplikasi-ditolak-apple) membantu anda menyusun jawapan apabila masalah sudah dilaporkan. Untuk menyediakannya, [Apple Review Kit](https://devoria.fr/ms/kits/review-apple) membantu anda mencari peraturan yang dipetik, apa yang dikehendakinya, serta contoh pembetulan dan jawapan.

Jika anda sedang menyediakan penghantaran pertama, [diagnostik percuma](https://devoria.fr/ms/diagnostic) memberitahu apa yang masih perlu dibuat dan menghantar senarai semak anti-penolakan Apple saya, termasuk pemadaman akaun. Jika Apple sudah menolak app anda, [tempah satu jam dengan saya](https://devoria.fr/ms/coaching): kita baca mesej itu bersama, melalui panggilan video.

## Soalan lazim

### Adakah pemadaman akaun wajib dalam app iOS?

Ya, jika app anda membenarkan pengguna mencipta akaun: Apple mahu orang itu boleh memulakan pemadamannya dari dalam app. Sekadar menyahaktifkan akaun tidak memenuhi syarat ini. Aliran itu mesti mudah dijumpai dan menerangkan akibatnya. Jika sebahagian proses selesai di Web, pautan mesti terus membawa ke halaman yang berkaitan.

### Apa yang perlu dipadam apabila pengguna memadam akaunnya?

Semua yang dimiliki orang itu, bukan sekadar rekod penggunanya. Buat senarai: identiti log masuk, profil dan kandungan yang dicipta, fail yang disimpan dan rujukannya, cache telefon, data di perkhidmatan pihak ketiga. Catat juga data yang perlu disimpan, untuk kewajipan apa, dan maklumkan orang itu. Tanpa inventori ini, sebuah foto boleh kekal diakses walaupun rekod pengguna sudah hilang.

### Adakah Apple menerima pemadaman akaun yang tidak serta-merta?

Ya. Jika pemprosesan mengambil masa, Apple menerima aliran tertunda dengan syarat orang itu dimaklumkan dan penyiapannya disahkan. App tidak boleh membuat orang percaya pemadaman sudah selesai sedangkan hanya permintaan yang direkodkan. Jika gagal, kekalkan mesej yang berguna dan cara untuk cuba semula, tanpa mendakwa akaun sudah hilang.

### Apa yang berlaku pada langganan apabila pengguna memadam akaunnya?

Langganan Apple boleh terus berjalan selepas akaun dipadam. Apple mahu anda menerangkan apa yang berlaku pada pengebilan dan memberi akses kepada pengurusan langganan. Jika anda menggunakan Sign in with Apple, rancang juga pembatalan token yang sesuai. Dalam pelan ujian anda, asingkan pemadaman akaun, status akses berbayar dan pengurusan langganan.

### Adakah cukup memadam pengguna dalam Supabase Auth?

Tidak, memadam pengguna Auth tidak membuktikan bahawa semua objek produk anda telah diproses. Menurut dokumentasi Supabase, pengguna yang memiliki objek Storage tidak boleh dipadam selagi perkara ini tidak diselesaikan. Memadam pengguna juga tidak serta-merta melog keluar semua JWT yang sudah dikeluarkan. Sediakan proses di sisi pelayan yang mengesahkan identiti peminta.

### Bagaimana menguji pemadaman akaun sebelum dihantar ke Apple?

Gunakan akaun ujian dan data rekaan pada build ujian. Jalankan enam kes: batal, padam akaun yang berisi data, putuskan rangkaian, cuba semula selepas kegagalan separa, buka sesi kedua, cipta semula akaun dengan alamat yang sama jika dibenarkan. Semak data dan aliran: ketiadaan ralat dalam konsol tidak mencukupi. Untuk mengedarkan build anda, ikut panduan [TestFlight](https://devoria.fr/ms/blog/testflight-uji-aplikasi-iphone-sebelum-hantar).


## Projek anda

[Apple Review Kit](https://devoria.fr/ms/kits/review-apple): Senarai semak review App Store yang saya guna, penolakan Apple yang saya betulkan, nota untuk penguji dan dua skill Claude Code yang menyemak aplikasi anda. 29 €.

[iOS Kit](https://devoria.fr/ms/kits/ios): Bina aplikasi iPhone anda dengan Claude Code: kod permulaan aplikasi saya, skill yang menyemak kerjanya, serta Apple Review Kit, App Store Screenshots Kit dan ASO Kit. 129,99 €.
