# Guideline 2.1 reddi: App Store retini anlama ve düzeltme

> Guideline 2.1 App Completeness: kuralın kapsamı, Apple'ın uygulamanı nasıl test ettiği, reviewer'a ne yazılır ve uygulamalarımda yediğim 3 gerçek ret.

Orijinal sayfa: [Guideline 2.1 reddi: App Store retini anlama ve düzeltme](https://devoria.fr/tr/blog/guideline-2-1-app-store-ret-duzeltme)
Yazar: [Mehdi Azizi](https://devoria.fr/tr/mehdi-azizi)
Yayın: 2026-09-23
İçeriğin son gözden geçirilmesi: 2026-10-09


Guideline 2.1, en çok gönderimi düşüren kural. Bunu Apple kendisi [App Review sayfasında](https://developer.apple.com/distribute/app-review/) yazıyor: çözülmemiş sorunların ortalama %40'tan fazlası 2.1 ile ilgili. Yani çökmeleri, geçici içeriği ve eksik bilgileri kapsayan kural.

Bu yazı sadece bu kuralı ele alıyor: neyi kapsadığını, iki varyantını, reviewer'ın uygulamanı nasıl test ettiğini ve ona ne cevap vereceğini, kendi uygulamalarımda yediğim üç retle birlikte. Tüm ret nedenlerine genel bir bakış istiyorsan [Apple bir uygulamayı neden reddeder](https://devoria.fr/tr/blog/apple-uygulama-reddi-neden-reddedilir) yazısını oku.

## Guideline 2.1 App Completeness nedir?

Guideline 2.1, Apple'a gönderilen uygulamanın son ve eksiksiz bir sürüm olmasını şart koşar: çökme yok, ölü link yok, geçici metin yok, uygulama giriş istiyorsa bir demo hesabı var ve uygulama içi satın almalar görünür ve çalışır durumda. Reviewer uygulamanı baştan sona gezemiyorsa, bu bir 2.1 reddidir.

Resmi metin [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#2.1) içinde, 2. bölüm "Performance" altında. İki fıkraya ayrılıyor.

**2.1(a)**, her gönderimin tüm metadata'sı ve çalışan URL'leriyle son sürüm olmasını ister. Geçici metinler, boş siteler ve her türlü geçici içerik gönderimden önce kaldırılmalı. Uygulama hatalar ve kararlılık açısından gerçek bir cihazda test edilmiş olmalı. Giriş istiyorsa bir demo hesabı verirsin ve sunucunu açık tutarsın. Uygulamaya gömülü bir demo modu bu hesabın yerini tutabilir, ama sadece Apple'ın önceden onayıyla ve uygulamanın tüm işlevlerini göstermesi şartıyla. Her şeyi özetleyen cümle: "We will reject incomplete app bundles and binaries that crash".

**2.1(b)** uygulama içi satın almalarla ilgili: eksiksiz, güncel, reviewer tarafından görülebilir ve çalışır olmalılar. App Store Connect'te yapılandırılmış bir satın alma uygulamada bulunamıyorsa, nedenini inceleme notlarında açıklaman gerekir.

## Guideline 2.1 pratikte neyi kapsıyor

Pratikte bir 2.1 reddi şu nedenlerden biriyle gelir:

- **Bir çökme.** Açılışta, reddedilen bir izinden sonra, internet yokken. Tek bir tane yeter.
- **Ölü bir link.** Gizlilik, kullanım koşulları, destek: beyan ettiğin her URL açılacak.
- **Erişilemeyen bir işlev.** Hiçbir yere götürmeyen bir buton, geçilmesi imkansız zorunlu bir ekran, çıkışı olmayan bir onboarding. En sinsi hali: kendi telefonunda görünmez.
- **Eksik ya da süresi dolmuş demo hesabı.** Reviewer giriş ekranında takılır, ya da verilen hesap artık çalışmaz, ya da sunucu kapalıdır.
- **Dolgu içerik.** Lorem ipsum, "Çok yakında", boş ekran, görünür test verileri.
- **Bulunamayan uygulama içi satın almalar.** Abonelik App Store Connect'te var, ama reviewer onu satan ekranı bulamıyor ya da satın alma sandbox'ta başarısız oluyor. En yaygın ödeme ekranı hataları [iOS paywall: 7 acemi hatası](https://devoria.fr/tr/blog/ios-paywall-hatalari-satis) yazısında.

## 2.1 Information Needed mı, 2.1(a) mı: fark ne?

Apple'ın mesajlarının hepsi aynı başlığı taşımaz ve bu fark vereceğin cevabı değiştirir.

**"Guideline 2.1 - Information Needed"**, reviewer'ın incelemesini tamamlayamadığı ve sana bir soru sorduğu anlamına gelir. Bir kullanıcı bilgisi, bir açıklama, bir işleve ulaşma yolu eksik. Bu henüz bir hata tespiti değil: bir talep. Bazen App Store Connect'te net bir cevap yeterli olur. Ama soru uygulamada gerçek bir engeli ortaya çıkarıyorsa, yeni bir build gerekir.

**"Guideline 2.1(a) - Performance - App Completeness"**, reviewer'ın bir sorun tespit ettiği anlamına gelir: bir çökme, bir hata, yanıt vermeyen bir ekran. Mesaj genelde kullanılan cihazı belirtir ve çoğu zaman bir ekran görüntüsü ekler. Burada düzeltmen, yeni build göndermen, sonra cevap vermen gerekir.

## Apple uygulamanı nasıl test ediyor

Kendini reviewer'ın yerine koy. Üç nokta önemli.

**Senin belki sahip olmadığın bir cihazda test ediyor.** Ret mesajı genelde modeli belirtir. 2.4.1 kuralı, iPhone uygulamalarının mümkün olduğunca iPad'de de çalışması gerektiğini söyler ve iPhone için tasarlanmış bir uygulama orada uyumluluk modunda, iPhone boyutunda bir pencerede görünür. Son 2.1 retlerim bir iPad Air'den geldi: sadece iPhone'unda test edersen, reviewer'ın gördüğünü göremezsin.

**İlk açılıştan başlıyor.** Sıfır uygulama, cache yok, oturum yok, indirilmiş güncelleme yok.

**Ağ sadece IPv6 ile çalışmalı.** Arka plan modlarıyla ilgili guideline 2.5.4'ün komşusu olan 2.5.5 kuralı, uygulamanın sadece IPv6 olan bir ağda tam olarak çalışmasını şart koşar ve [Apple'ın IPv6 destek sayfası](https://developer.apple.com/support/ipv6/) bunu 1 Haziran 2016'dan beri gönderilen tüm uygulamalar için zorunlu kılıyor. Risk, koda sabit yazılmış bir IPv4 adresinden gelir: Apple, hücresel veri kapalıyken sadece IPv6 olan bir ağda test etmeyi önerir.

Bu koşulları gönderimden önce yeniden üretmenin en basit yolu hâlâ birkaç cihazda TestFlight: bkz. [TestFlight: iPhone uygulamanı test etmek](https://devoria.fr/tr/blog/testflight-iphone-uygulama-test-etme).

## Yediğim üç ret ve gerçek nedenleri

Kendi uygulamalarımda aldığım üç yeni ret, gerçek nedenleriyle.

### Solys: iPad'de kazanılması imkansız bir mini oyun demosu

Solys, mini oyunlu alarm uygulamam. 18 Ağustos 2026'da bir build "2.1 Information Needed" ile reddedildi: Apple oyun görevini geçmenin bir yolunu istiyordu. Reviewer, iPhone uygulamasını uyumluluk modunda bir iPad Air'de test ediyordu.

Gerçek neden onboarding'deki mini oyun demosundaydı. Engel yükseklikleri sabit point değerleriyle yazılmıştı. Uyumluluk modundaki iPad'de kullanılabilen kart yüksekliğinde, geçit karakterden daha dar hale geliyordu: demoyu kazanmak imkansızdı. Ve "Devam" butonu sadece kazanınca aktif oluyordu. Hiç çıkış yok: reviewer uygulamayı göremiyordu.

**Düzeltme**: kartın ölçülen boyutuyla orantılı bir geometri ve bir yenilgiden sonra beliren "Demoyu geç" linki.

**Ders**: bir performansa bağlı her adımın koşulsuz bir çıkışı olmalı. Ve her zorunlu ekran, desteklenen en küçük ekranda VE uyumluluk modunda iPad'de test edilmeli.

### Nolera: reviewer'ın göremediği bir düzeltme

17 Eylül 2026'da Nolera, iPad Air'de yapılan bir incelemeden sonra reddedildi. Mesaj 2.1(a)'yı başka maddelerle birleştiriyordu. Bildirilen sorunun düzeltmesi yeni bir build olmadan, uzaktan güncelleme (OTA) ile gönderilmişti.

Sorun şu: en ilk açılışta reviewer, sonradan indirilen güncellemeyi değil, build'e gömülü kodu görür. Onun için düzeltme yoktu.

**Ders**: incelemeye yönelik bir düzeltme, Apple'a gönderilen binary'nin içinde olmalı.

### Clic: neden uygulamada değildi

16 Eylül 2026'da Clic reddedildi. Uygulamanın kendisi güncel. Gerçek neden başka yerdeydi: internette yayınlanan gizlilik politikası, kullanılan yapay zeka sağlayıcısı konusunda güncel değildi. Bu ret 2.1'den çok gizlilikle ilgili, ama aynı şeyi gösteriyor: gerçek nedenler her zaman mesajın düşündürdüğü nedenler değil.

**Ders**: deponda olanı değil, internette olanı kontrol et. Beyan ettiğin her URL'yi gönderim günü aç.

## Resolution Center'da ne cevap vermeli

Bir retten sonra gönderimin ["Unresolved Issues"](https://devoria.fr/tr/blog/waiting-for-review-app-store-connect-durumlar) durumuna geçer ve Apple ile yazışma uygulamanın App Review bölümünde, hâlâ Resolution Center denen yerde yapılır. [App Review'a cevap verme](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/) için resmi prosedür, en fazla 4.000 karakterlik bir mesaja ve bir eke izin veriyor.

İngilizce yaz, sade tut. Reviewer üç bilgi istiyor: neyin engellediği, neyin değiştiği, nasıl doğrulanacağı. Kullandığım şablon bu (build numarasını ve düzeltmeyi kendininkilerle değiştir):

```text
Hello,

Thank you for your review.

Issue: the onboarding game demo could not be completed on iPad
(iPhone app running in compatibility mode), so the user could
not continue.

Fix in build 1.0.3 (42):
- The game layout now scales to the measured screen size.
- A "Skip demo" link appears after a failed attempt, so the
  onboarding can always be completed.

How to verify: launch the app, start the onboarding demo,
lose once, then tap "Skip demo".

A screen recording is attached.

Best regards,
```

Birkaç kural:

- **Sorulan soruya cevap ver.** Bir "Information Needed"da bağlamla değil, net cevapla başla.
- **Build'i belirt ve yolu ver**: düzeltilen ekrana üç dört adımda nasıl ulaşılır.
- **Kanıt ekle.** Reviewer'ınkine yakın bir cihazda kısa bir video, yeni bir gidiş gelişi önler.
- **Savunma yazma.** App Review Board'a itiraz mümkün, ama hak edilmiş bir 2.1 reddinde sadece bekleme süresini uzatır. Sürelerin detayı [App Store onay süresi](https://devoria.fr/tr/blog/app-store-onay-suresi-ne-kadar) yazısında.

Okuduktan sonra neden hâlâ belirsizse, tüm süreç [Apple tarafından reddedilen uygulama](https://devoria.fr/tr/expertise/apple-tarafindan-reddedilen-uygulama) sayfasında.

## İnceleme notları ve demo hesabı

App Store Connect'te sürümünün App Review Information bölümü, 2.1'e karşı en iyi savunman. [Bu alanların resmi referansına](https://developer.apple.com/help/app-store-connect/reference/app-review-information/) göre şunları içerir:

- **Sign-in required**: bir demo hesabının kullanıcı adı ve şifresi. Bu hesabın süresi dolmamalı. Uygulaman bir üçüncü taraf girişi kullanıyorsa, o servisin giriş bilgilerini ver.
- **Notes**: seçtiğin dilde 4.000 byte'a kadar. Test etmeye yardımcı olan her şey.
- **Contact**: bir isim, bir e-posta ve uluslararası formatta bir numara.

Notlara her seferinde koyduklarım:

1. **Her uygulama içi satın almaya giden yol**, 2.1(b) kuralının istediği gibi.
2. **Belirgin olmayan işlevler**: bir hareket, bir izin, saate bağlı bir içerik.
3. **Demo hesabının durumu**: abone mi değil mi, veriler önceden dolu mu boş mu.
4. **Bilinen sınırlar**: yeniden üretilmesi zor bir donanım ya da ortam için Apple bir video sunmaya hazır olmanı istiyor.

Ve formun dışında bir kural: **inceleme boyunca sunucunu açık tut.** Kapatılmış bir test sunucusu, çalışmayan bir demo hesabı demek, yani bir 2.1 reddi.

## Gönderimden önce 2.1 kontrol listesi

Her gönderimden önce uyguladığım, retlerimden çıkardığım liste:

- Uygulama sıfırdan kuruldu: desteklenen en küçük iPhone, en büyük iPhone ve uyumluluk modunda bir iPad
- Onboarding baştan sona geçildi, performans isteyen her adımda bilerek başarısız olundu
- Her zorunlu ekranın koşulsuz bir çıkışı var
- İncelemeye yönelik hiçbir düzeltme sadece uzaktan güncellemeyle gönderilmedi
- Uygulama uçak modunda, sonra sadece IPv6 olan bir ağda açıldı
- Beyan edilen her URL aynı gün açıldı: gizlilik, koşullar, destek
- Görünür geçici metin, boş ekran ya da test verisi yok
- Demo hesabı gönderim günü test edildi, son kullanma tarihi yok, sunucu açık
- Her uygulama içi satın alma uygulamadan bulundu ve geri yükleme dahil sandbox'ta test edildi
- İnceleme notları satın almaların ve belirgin olmayan işlevlerin nerede olduğunu belirtiyor

Bu ilk yayınınsa, öncesindeki tüm adımlar [App Store'da uygulama yayınlamak](https://devoria.fr/tr/expertise/app-storeda-uygulama-yayinlama) sayfasında.

## Dosyanı bu retleri zaten yemiş biriyle gönder

[Apple Review Kit](https://devoria.fr/tr/kits/review-apple), gönderim öncesi kontrol listemi, test eden kişi için not şablonlarını ve projeni göndermeden önce gözden geçiren Claude Code skill'lerini bir araya getiriyor.

Az önce bir 2.1 reddi mi aldın? Kit, alıntılanan kuralı, ne istediğini ve bir düzeltme ve cevap örneğini bulmana da yardım ediyor. Dosyana hemen birlikte bakmamızı istiyorsan, [benimle bir saatlik görüntülü görüşme ayarla](https://devoria.fr/tr/coaching).

Kimse Apple'ın uygulamanı kabul edeceğini garanti edemez. Benim yapabileceğim, zaten birer inceleme döngüsüyle bedelini ödediğim 2.1 retlerinden kaçınmana yardım etmek.

Uygulamanı henüz göndermedin mi? [Ücretsiz teşhis](https://devoria.fr/tr/diagnostic), 2.1 kuralı dahil Apple ret önleme kontrol listemi gönderiyor ve gönderimden önce yapman gerekenleri söylüyor. Hâlâ uygulamayı geliştiriyorsan, ana sayfa en baştan incelemeyi düşünerek nasıl [mobil uygulama yapılır](https://devoria.fr/tr) gösteriyor.

## Sık sorulan sorular

### "Guideline 2.1 - Information Needed" ne demek?

Reviewer incelemesini bitiremedi ve sana bir soru soruyor: bir kullanıcı bilgisi, bir açıklama, bir işleve erişim yolu. App Store Connect'te net cevap ver. Soru uygulamada gerçek bir engeli ortaya çıkarıyorsa, Solys'teki gibi, onu düzelt ve yeni bir build gönder.

### 2.1 reddinden sonra yeni build gerekir mi?

Bir çökme, bir hata ya da engelleyen bir ekran için evet: düzeltme binary'nin içinde olmalı. Uzaktan güncelleme yetmez, çünkü reviewer ilk açılışta gömülü kodu görür. Sadece eksik bir bilgi için cevap yeterli olabilir.

### Uygulamam giriş istiyor: reviewer'a ne vermeliyim?

App Review Information bölümüne girilmiş, süresi dolmayan bir demo hesabı ve inceleme boyunca açık bir sunucu. Gömülü bir demo modu bu hesabın yerini sadece Apple'ın önceden onayıyla tutabilir ve tüm işlevleri göstermelidir.

### 2.1 reddi uygulamadan başka bir şeyden gelebilir mi?

Evet. Sayfadaki ölü bir URL, süresi dolmuş bir demo hesabı, kapalı bir sunucu ya da yanlış yapılandırılmış bir uygulama içi satın alma yeterli. Ve bazen, Clic'teki gibi, gerçek neden kodda değil internettedir: reviewer'ın açabileceği her şeyi kontrol 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 €.
