Ana Sayfaya Dön
App Store İnceleme Kontrol Listesi

Vibe-Coding ile Geliştirilen Uygulamaların App Store'dan Reddedilmesine Yol Açan 13 Hata

Uygulamanızı App Store incelemesine göndermeden önce bu maddeleri tamamlayın, inceleme sürecini haftalar süren bir kabustan tek seferlik bir formaliteye dönüştürün.

Kontrol İlerlemesi 0 / 18 Tamamlandı

Gönderimden Önceki 5 Dakikalık Hızlı Kontrol

En Sık Karşılaşılan 13 Red Nedeni ve Çözümleri

1. Çalışmayan veya Eksik Gizlilik Politikası (Privacy Policy)
Videodaki Madde
"Yakında eklenecek" yazısı ya da rastgele bir Notion linki kabul edilmez. Apple incelemecisi verdiğiniz URL çalışmıyorsa uygulamanızı 30 saniye içinde reddeder.
Nasıl Çözülür?
Hangi verileri ne amaçla topladığınızı açıklayan gerçek bir web sayfası barındırın. Sayfadaki maddeler App Store Connect'teki "App Privacy" etiketlerinizle birebir örtüşmelidir. Sitede başka, etikette başka şey belirtirseniz anında ret gelir.
2. Yapay Zeka (AI) Onay Ekranının Bulunmaması
Videodaki Madde
Uygulamanız yapay zekaya (LLM, görüntü modeli vb.) dokunuyorsa ve kullanıcı verilerini işlemeden önce onları açıkça bilgilendirmiyorsanız doğrudan ret yersiniz.
Nasıl Çözülür?
Kullanıcılar girdilerinin bir yapay zeka modeline gittiğini bilmeli, onaylamalı ve reddetme hakkına sahip olmalıdır. Sade bir bilgilendirme modalı yeterlidir: "Bu AI modeli ne yapar, hangi veriler gönderilir, devam etmek için onayla."
3. Taslak Metinler (Placeholders) ve Boş Linkler
Videodaki Madde
Hiçbir yere gitmeyen "Kullanım Koşulları" linki, değiştirmeyi unuttuğunuz "Lorem ipsum" metinleri, "Çok yakında" butonu ya da var olmayan destek e-postası. Apple inceleme ekibi her linke tıklar ve her ekranı okur; tek bir taslak içerik "bu uygulama henüz bitmemiş" olarak değerlendirilir.
Nasıl Çözülür?
Kod tabanınızı yapay zeka asistanınıza (Claude / Cursor) tam taratarak sahte linkleri, çalışmayan butonları ve placeholder metinleri temizleyin.
4. İnceleme Notlarında Demo Giriş Bilgilerinin Eksik Olması
Kimse Uyarmıyor
İlk kez uygulama gönderenlerin en sık düştüğü tuzak. Uygulamanızda bir giriş ekranı varsa ve App Review notlarına çalışan bir test kullanıcı adı ve şifresi eklemediyseniz incelemeci uygulamanıza giremez. Kendi hesabını açmaya uğraşmaz, doğrudan kapıyı kapatıp reddeder.
Nasıl Çözülür?
App Store Connect inceleme notları bölümüne çalışan hazır bir demo hesabı (`demo@test.com` + şifre) ekleyin ve hesapta önceden örnek verilerin yüklü olduğundan emin olun.
5. "Sign in with Apple" (Apple ile Giriş Yap) Eksikliği
Katı Kural
Google, Facebook veya herhangi bir üçüncü taraf sosyal giriş seçeneği sunuyorsanız, Apple kural gereği "Apple ile Giriş Yap" seçeneğini de sunmanızı zorunlu tutar. İstisnası yoktur.
Nasıl Çözülür?
"Sign in with Apple" butonunu giriş ekranınızın en üstüne ya da eşit ağırlıkta ekleyin.
6. Uygulama İçinde Doğrudan Hesap Silme Özelliğinin Olmaması
Kılavuz 5.1.1
Artık herkes hesap silmenin zorunlu olduğunu biliyor ancak en kritik nokta: "Hesabınızı silmek için bize e-posta atın" diyemezsiniz. Uygulamanın ayarlarında hesabı ve kullanıcı verilerini anında silen gerçek bir buton bulunmalıdır.
Nasıl Çözülür?
Ayarlar ekranına kırmızı bir "Hesabımı Sil" butonu koyun ve onay sonrası sunucudaki ilgili kullanıcı kayıtlarını temizleyecek akışı bağlayın.
7. Baştan Savma İzin Açıklamaları (Permission Strings)
Info.plist
Kamera, mikrofon veya konum izni istediğinizde iOS sizden gerekçe metni yazmanızı ister (NSCameraUsageDescription vb.). "Bu uygulama kamera izni gerektirir" gibi jenerik ifadeler anında işaretlenir ve reddedilir.
Nasıl Çözülür?
Apple gerçek gerekçeyi görmek ister: "Profil fotoğrafı yüklemek için", "Fişleri ve faturaları taramak için". Kullanıcının ne fayda göreceğini açıkça yazın.
8. Sadece Bir Web Sitesini Saran Kılıf (WebView) Olması
Kılavuz 4.2
Vibe-coding ile geliştirilen uygulamaların en büyük kabusu. Uygulamanız sadece bir webview açıyor ve push bildirim, çevrimdışı çalışma, yerel cihaz donanımları gibi hiçbir native özellik sunmuyorsa "Minimum İşlevsellik (Guideline 4.2)" kuralından elenir.
Nasıl Çözülür?
Uygulamanıza bir tarayıcı sekmesinde yapılamayacak native yetenekler ekleyin (Haptic geri bildirim, Push Notifications, çevrimdışı önbellekleme veya widget desteği).
9. Temiz Kurulumda (Fresh Install) Boş/Beyaz Ekrana Düşmesi
Crash / Spinner
İncelemeyi yapan ekip uygulamanızı sıfır veri içeren temiz bir cihazda test eder. Kendi cihazınızdaki hazır oturum veya seed verileri olduğu için çalışan bir uygulama, sıfır kurulumda beyaz ekran veya sonsuz yükleme animasyonunda takılıp kalıyorsa "bozuk" olarak etiketlenir.
Nasıl Çözülür?
Cihazınızı ya da simülatörünüzü tamamen sıfırlayın. İlk açılışta boş durumları (Empty State) ve ilk onboarding akışını kusursuz şekilde test edin.
10. Rakip Platformlardan Bahsedilmesi
Google Play / Android
Ekran görüntülerinde unutulmuş bir Google Play rozeti, ayarlarda "Android'de de varız" ibaresi ya da "Web'den indirin" yönlendirmesi. Apple kendi mağazasında çıkış kapısının reklamını yapmanızı kesinlikle kabul etmez.
Nasıl Çözülür?
Uygulama içi metinleri, görselleri ve ekran görüntülerini tarayarak Android, Google Play vb. tüm dış platform referanslarını temizleyin.
11. Beta / TestFlight İfadelerinin İçeride Kalması
Üretim Öncesi
Bir "Beta" rozeti, yarım bırakılmış sekmeler, "Yakında gelecek" uyarıları. Bu ifadeler Apple'a "Bu uygulama henüz App Store için hazır değil" mesajı verir.
Nasıl Çözülür?
Uygulamayı tamamen bitmiş bir ürün olarak paketleyin ya da henüz hazır olmayan özellikleri yayından tamamen gizleyin.
12. Uygulamayla Birebir Örtüşmeyen Ekran Görüntüleri
Yanıltıcı Meta Veri
Mağaza görsellerinizde uygulamada hiç yer almayan özellikler veya tamamen farklı bir UI yer alıyorsa, Apple "yanıltıcı meta veri (misleading metadata)" gerekçesiyle reddeder.
Nasıl Çözülür?
Ekran görüntüleri, kullanıcının uygulamayı indirdiğinde bizzat deneyimleyeceği gerçek ekranlar olmalıdır.
13. Uygulama İçi Satın Alma (IAP) Dışından Ödeme Almak
Kılavuz 3.1.1
Dijital içerikleri — abonelikler, krediler, kilitli özellikler — Stripe veya harici bir web checkout üzerinden satmaya çalışmak anında ret sebebidir. Dijital ürünler Apple In-App Purchase üzerinden geçmelidir.
Nasıl Çözülür?
Uygulama içi dijital ürünleri StoreKit / RevenueCat ile Apple IAP'ye bağlayın. (Yalnızca fiziksel ürünler ve gerçek dünya hizmetleri bu kuralın dışındadır.)
Bünyamin Akdeniz

Bünyamin Akdeniz

Yazılım & AI Ürün Geliştirici • @bunyamin.dev

Instagram'da Takip Et →
Liste panoya kopyalandı!