# iOS hesap silme: Apple'dan önce test edilecek akış

> Silme butonu, ilişkili veriler, abonelik ve yeniden giriş: App Review'a göndermeden önce bu akışı kontrol etmek için somut bir test planı.

Orijinal sayfa: [iOS hesap silme: Apple'dan önce test edilecek akış](https://devoria.fr/tr/blog/ios-hesap-silme-apple-oncesi-test)
Yazar: [Mehdi Azizi](https://devoria.fr/tr/mehdi-azizi)
Yayın: 2026-10-02
İçeriğin son gözden geçirilmesi: 2026-10-09


## Buton yetmez: neyin silindiğini kontrol etmen gerekiyor

Uygulaman hesap oluşturmaya izin veriyorsa Apple, kişinin hesabını uygulamanın içinden silmeyi başlatabilmesini istiyor. Hesabı sadece devre dışı bırakmak bu şartı karşılamıyor. Akış kolay bulunmalı ve sonuçlarını açıklamalı. Bir kısmı Web'de tamamlanıyorsa, bağlantı doğrudan ilgili sayfaya gitmeli. [Kaynak: Apple'a göre hesap silme](https://developer.apple.com/support/offering-account-deletion-in-your-app).

Yani iş, ayarlara kırmızı bir buton koymakla bitmiyor. Verilerin envanterini çıkarman, silme işlemini sunucu tarafında çalıştırman, hataları ele alman ve kullanıcının sonrasında ne gördüğünü kontrol etmen gerekiyor. Bu rehber ürün ve teknik açıdan bir test planı sunuyor; saklama yükümlülüğü olan veriler ise senin faaliyetine uygun bir işlem gerektirir.

## Önce bir veri haritası çıkar

Kurgusal bir okuma günlüğü uygulamasını düşünelim. Bir hesabı, bir profili, özel notları ve kullanıcının eklediği kapak fotoğrafları var. Aşağıdaki örnek kontrol edilecek bir planı anlatıyor, bir Devoria uygulamasında zaten çalıştırılmış bir silme işlemini değil.

- **Giriş kimliği:** Silmeden sonra hesabı nasıl kullanılamaz hale getiriyorsun?
- **Profil ve notlar:** Hangi satırlar bu kişiye ait ve nasıl siliniyor?
- **Depolanan fotoğraflar:** Dosyaları ve referanslarını hangi işlem kaldırıyor?
- **Telefon önbelleği:** Ekran, işlem gerçekten başarılı olduğunda yerel verileri siliyor mu?
- **Üçüncü taraf servisler:** Bu hesaba bağlı veriler ayrı bir silme işlemi gerektiriyor mu?
- **Saklanacak veriler:** Hangileri, hangi yükümlülük için ve kullanıcıya nasıl bilgi verilerek?

Bu harita, kullanıcı kaydı silindiği halde bir fotoğrafın hâlâ erişilebilir olduğunu sonradan fark etmeni önler. Ayrıca testlerde araman gereken nesneleri de verir.

## Dört durumlu, anlaşılır bir akış

Kurgusal uygulama için bir öneri, ürününün gerçek sonuçlarına göre uyarla:

1. **Hesap ayarları.** "Hesabımı sil" girişi erişilebilir kalır.
2. **Onay.** Ekran ilgili verileri anlatır ve silme eylemi kadar anlaşılır bir iptal eylemi sunar.
3. **İşlem.** Buton çift talepleri engeller ve arayüz işlemin sürdüğünü gösterir.
4. **Sonuç.** Onaylanmış bir başarı, oturumu kapalı durumu açar. Bir hata ise faydalı bir mesajı ve yeniden deneme imkânını korur, hesabın silindiğini iddia etmez.

İşlem zaman alıyorsa Apple, kişiyi bilgilendirmen ve tamamlandığını onaylaman şartıyla ertelenmiş bir akışı kabul ediyor. Sadece talep kaydedildiğinde uygulama silmenin bittiği izlenimini vermemeli. Aynı [Apple dokümantasyonu](https://developer.apple.com/support/offering-account-deletion-in-your-app) yeniden kimlik doğrulama durumlarını ve sıkı düzenlenen faaliyetlere özgü istisnaları da açıklıyor.

## Supabase ile önceden düşünmen gerekenler

Bir Auth kullanıcısını silmek, tek başına ürünündeki tüm nesnelerin işlendiğinin kanıtı değil. Supabase özellikle, Storage nesneleri olan bir kullanıcının bu durum çözülmeden silinemeyeceğini açıklıyor. Dokümantasyon ayrıca bir kullanıcıyı silmenin daha önce verilmiş tüm JWT'lerin oturumunu anında kapatmadığını belirtiyor: geçerlilik süreleri tasarımda hesaba katılmalı. [Kaynak: Supabase kullanıcı yönetimi](https://supabase.com/docs/guides/auth/managing-user-data).

Bu yüzden talep edenin kimliğini ve ona ait kaynakları doğrulayan bir sunucu işlemi tanımla. Silinecek hesabı seçmek için telefonun serbestçe gönderdiği bir kimliğe güvenme. Yönetici yetkileri, [Supabase anahtar dokümantasyonuna](https://supabase.com/docs/guides/getting-started/api-keys) uygun olarak sunucu tarafında kalır.

Birkaç adımlı bir işlemde, ilk adım başarılı olup sonraki başarısız olduysa yeni bir denemenin ne yapacağına karar ver. Örneğin dosyalar zaten kaldırıldıysa, yeni bir talep sırf dosyalar yok diye başarısız olmamalı. Bu, testten önce yazılacak bir senaryo, varsayılacak bir davranış değil.

## Hesap ve abonelik: iki ayrı kontrol

Bir kişi hesabını silerken Apple aboneliği devam edebilir. Apple, faturalandırmanın ne olacağını açıklamanı ve abonelik yönetimine erişim vermeni istiyor. Sign in with Apple kullanıyorsan token'ların uygun şekilde iptal edilmesini de planla. Bu noktalar [Apple'ın silme yönergelerinde](https://developer.apple.com/support/offering-account-deletion-in-your-app) ayrıntılı anlatılıyor.

Test planında hesabın silinmesini, ücretli erişim durumunu ve abonelik yönetimini ayrı tut. [Abonelik mi tek seferlik satın alma mı](https://devoria.fr/tr/blog/ios-uygulama-abonelik-mi-tek-seferlik-satin-alma-mi) rehberi, bu akışı iş modeline oturtmana yardım eder.

## Test build'inde çalıştırılacak plan

Sadece bir test hesabı ve kurgusal veriler kullan. Her kontrol için build'i, cihazı, gözlemlenen sonucu ve sınırları not et.

1. **İptal et.** Hesap ve veriler erişilebilir kalır.
2. **Dolu bir hesabı sil.** Son durum, duyurulan işleme uyar; ilgili veriler gerçekten kaldırılmıştır.
3. **Ağı kes.** Uygulama sahte bir başarı göstermez.
4. **Kısmi bir hatadan sonra yeniden dene.** Talep, başka verileri hedeflemeden tamamlanabilir.
5. **İkinci bir oturum aç.** Eski erişimler, öngörülen mekanizmaya göre işlenir.
6. **İzin veriliyorsa aynı adresle yeniden hesap oluştur.** Eski özel veriler yeniden görünmez.

Bu durumları [Devoria test tablosuna](https://devoria.fr/tr/resources) ekle. Test kullanıcılarına dağıtmak için [TestFlight](https://devoria.fr/tr/blog/testflight-iphone-uygulama-test-etme) rehberini takip et. Konsolda hata mesajı olmaması, verilerin ve akışın kontrolünün yerini tutmaz.

## App Review'a göndermeye hazırlanmak

İnceleme notlarında eylemin nerede olduğunu ve nasıl test edileceğini açıkla. Bir adım bir servise bağlıysa, inceleme sırasında erişilebilir olduğundan emin ol. Notları, gönderilen build'de henüz olmayan bir özelliği vaat etmek için kullanma.

[Apple tarafından reddedilen uygulama](https://devoria.fr/tr/expertise/apple-tarafindan-reddedilen-uygulama) sayfası, bir sorun zaten bildirildiyse yanıtını düzenlemene yardım eder. Hazırlık için [Apple Review Kit](https://devoria.fr/tr/kits/review-apple), alıntılanan kuralı, ne istediğini ve bir düzeltme ile yanıt örneğini bulmana yardım eder.

İlk gönderimine hazırlanıyorsan [ücretsiz teşhis](https://devoria.fr/tr/diagnostic) sana geriye ne kaldığını söyler ve hesap silme dahil Apple ret önleme kontrol listemi gönderir. Apple uygulamanı zaten reddettiyse [benimle bir saat ayır](https://devoria.fr/tr/coaching): mesajı birlikte, görüntülü görüşmede okuyalım.

## Sık sorulan sorular

### iOS uygulamasında hesap silme zorunlu mu?

Evet, uygulaman hesap oluşturmaya izin veriyorsa: Apple, kişinin silmeyi uygulamanın içinden başlatabilmesini istiyor. Sadece devre dışı bırakmak bu şartı karşılamıyor. Akış kolay bulunmalı ve sonuçlarını açıklamalı. Bir kısmı Web'de tamamlanıyorsa, bağlantı doğrudan ilgili sayfaya gitmeli.

### Kullanıcı hesabını sildiğinde neler silinmeli?

Sadece kullanıcı kaydı değil, kişiye ait her şey. Listeyi çıkar: giriş kimliği, profil ve oluşturulan içerikler, depolanan dosyalar ve referansları, telefon önbelleği, üçüncü taraf servislerdeki veriler. Saklanacak verileri ve hangi yükümlülük için saklandığını da not et, kişiyi bilgilendir. Bu envanter olmadan, kullanıcı kaydı silinmişken bir fotoğraf erişilebilir kalabilir.

### Apple anında olmayan bir hesap silmeyi kabul ediyor mu?

Evet. İşlem zaman alıyorsa Apple, kişiyi bilgilendirmen ve tamamlandığını onaylaman şartıyla ertelenmiş bir akışı kabul ediyor. Sadece talep kaydedildiğinde uygulama silmenin bittiği izlenimini vermemeli. Hata durumunda faydalı bir mesajı ve yeniden deneme imkânını koru, hesabın silindiğini iddia etme.

### Kullanıcı hesabını sildiğinde aboneliğe ne olur?

Apple aboneliği hesap silindikten sonra devam edebilir. Apple, faturalandırmanın ne olacağını açıklamanı ve abonelik yönetimine erişim vermeni istiyor. Sign in with Apple kullanıyorsan token'ların uygun şekilde iptal edilmesini de planla. Test planında hesabın silinmesini, ücretli erişim durumunu ve abonelik yönetimini ayrı tut.

### Kullanıcıyı Supabase Auth'tan silmek yeterli mi?

Hayır, bir Auth kullanıcısını silmek ürünündeki tüm nesnelerin işlendiğini kanıtlamaz. Supabase dokümantasyonuna göre Storage nesneleri olan bir kullanıcı, bu durum çözülmeden silinemez. Bir kullanıcıyı silmek, daha önce verilmiş tüm JWT'lerin oturumunu da anında kapatmaz. Talep edenin kimliğini doğrulayan sunucu taraflı bir işlem planla.

### Apple'a göndermeden önce hesap silme nasıl test edilir?

Bir test build'inde test hesabı ve kurgusal veriler kullan. Altı durumu çalıştır: iptal et, dolu bir hesabı sil, ağı kes, kısmi bir hatadan sonra yeniden dene, ikinci bir oturum aç, izin veriliyorsa aynı adresle yeniden hesap oluştur. Verileri ve akışı kontrol et: konsolda hata olmaması yetmez. Build'ini dağıtmak için [TestFlight](https://devoria.fr/tr/blog/testflight-iphone-uygulama-test-etme) rehberini takip et.


## Projen

[Apple Review Kit](https://devoria.fr/tr/kits/review-apple): Kullandığım App Store inceleme kontrol listesi, düzelttiğim Apple retleri, inceleyici notları ve uygulamanı inceleyen iki Claude Code skill'i. 29 €.

[iOS Kit](https://devoria.fr/tr/kits/ios): Claude Code ile iPhone uygulamanı yap: uygulamalarımın başlangıç kodu, işini kontrol eden skill'ler, Apple Review, Screenshots ve ASO kitleri. 129,99 €.
