Most App Store rejections are not surprises. They are missed launch checks. Apple reviews the product, its policy fit, its privacy practices, and its metadata — so treat review criteria as a build requirement, not a final admin task. Kebanyakan penolakan App Store bukan hal yang mengejutkan. Itu adalah pemeriksaan peluncuran yang terlewat. Apple meninjau produk, kecocokan kebijakan, praktik privasi, dan metadata — jadi perlakukan kriteria review sebagai kebutuhan build, bukan tugas administrasi di akhir.
This is a high-level QA pass, not legal advice. Apple's guidelines are a living document, and the right answer depends on your app's business model, storefronts, and agreements. Check the current App Review Guidelines before you submit. Ini adalah pemeriksaan QA tingkat tinggi, bukan nasihat hukum. Panduan Apple terus berubah, dan jawaban yang benar bergantung pada model bisnis, storefront, serta perjanjian aplikasimu. Periksa App Review Guidelines terbaru sebelum submit.
The five rejection risks Lima risiko penolakan
1. A thin website wrapper Website yang hanya dibungkus dalam aplikasi
If the experience is essentially a web page in a native shell, reviewers may see too little app-specific utility. A beautiful landing page is not automatically an iOS product. Jika pengalamannya pada dasarnya hanya halaman web di dalam shell native, reviewer mungkin melihat terlalu sedikit kegunaan khusus aplikasi. Landing page yang indah tidak otomatis menjadi produk iOS.
Launch fix: add value that belongs on a phone — device features, offline behaviour, meaningful mobile workflows, notifications, or interactions that make sense natively. Perbaikan: tambahkan nilai yang memang ada di ponsel — fitur perangkat, perilaku offline, alur kerja seluler yang bermakna, notifikasi, atau interaksi yang terasa native.
2. No in-app account deletion Tidak ada penghapusan akun di dalam aplikasi
If users can create an account, the deletion path must be available within the app. Do not make people email support or hunt through a web-only help centre just to close the relationship. Jika pengguna dapat membuat akun, jalur penghapusannya harus tersedia di dalam aplikasi. Jangan membuat orang emailing support atau mencari-cari di pusat bantuan web hanya untuk menutup relasi tersebut.
Launch fix: put Delete account inside Account or Settings, explain what will happen, and handle the request reliably. If a web step is necessary, link to it directly and do not make support the only route. Perbaikan: letakkan Delete account di Account atau Settings, jelaskan apa yang akan terjadi, dan tangani permintaan tersebut dengan andal. Jika langkah web memang diperlukan, tautkan langsung dan jangan jadikan support satu-satunya jalur.
3. Incomplete privacy disclosure Pengungkapan privasi yang tidak lengkap
The app you submit includes the SDKs you ship. Crash reporting, analytics, attribution, and advertising SDKs can collect data that must be considered in App Store Connect. “We do not collect it directly” is not a safe assumption. Aplikasi yang kamu submit juga berisi SDK yang kamu kirim. Crash reporting, analytics, atribusi, dan SDK iklan dapat mengumpulkan data yang harus dipertimbangkan di App Store Connect. “Kami tidak mengumpulkannya secara langsung” bukan asumsi yang aman.
Launch fix: inventory every SDK, data type, purpose, and data path. Match your privacy answers to what the shipped build actually does, including third-party partners and optional flows. Perbaikan: buat inventaris setiap SDK, jenis data, tujuan, dan alur datanya. Samakan jawaban privasi dengan perilaku build yang benar-benar dikirim, termasuk mitra pihak ketiga dan alur opsional.
See Apple's App Privacy Details for how collection, linking, and tracking are described. Lihat App Privacy Details Apple untuk penjelasan tentang pengumpulan data, keterhubungan, dan tracking.
4. An external payment workaround Jalan pembayaran eksternal sebagai workaround
For digital goods, features, and subscriptions consumed in the app, Apple generally requires In-App Purchase. External purchase links have specific storefront and entitlement rules; they are not a universal workaround. Untuk barang digital, fitur, dan langganan yang dikonsumsi di dalam aplikasi, Apple umumnya mewajibkan In-App Purchase. Tautan pembelian eksternal punya aturan storefront dan entitlement tertentu; itu bukan workaround universal.
Launch fix: map every paid entitlement. Use IAP where required, and validate every external flow against the current rules before launch. Perbaikan: petakan setiap entitlement berbayar. Gunakan IAP jika diwajibkan, dan validasi setiap alur eksternal terhadap aturan terbaru sebelum peluncuran.
Read Apple's current In-App Purchase guidance before choosing a payment path. Baca panduan In-App Purchase terbaru dari Apple sebelum memilih jalur pembayaran.
5. Missing licence terms Ketentuan lisensi yang belum lengkap
Apple's Standard EULA applies unless you provide a custom EULA. If you use a custom licence, make sure its public destination and the App Store Connect choice are clear. Do not leave the listing's legal terms ambiguous. EULA Standar Apple berlaku kecuali kamu menyediakan EULA kustom. Jika memakai lisensi kustom, pastikan tujuan publiknya dan pilihan di App Store Connect jelas. Jangan biarkan ketentuan hukum di listing tetap ambigu.
Launch fix: review the licence choice in App Store Connect and verify every public link before the final submission. Perbaikan: tinjau pilihan lisensi di App Store Connect dan verifikasi setiap tautan publik sebelum submit final.
Apple publishes the Standard EULA for apps distributed through the App Store. Apple menerbitkan EULA Standar untuk aplikasi yang dibagikan melalui App Store.
The final pre-submit pass Pemeriksaan final sebelum submit
- Upload the exact release candidate, not a locally different build. Upload release candidate yang tepat, bukan build lokal yang berbeda.
- Give reviewers clear test credentials and reproducible steps. Berikan kredensial uji dan langkah yang dapat direproduksi dengan jelas kepada reviewer.
- Confirm every privacy answer against the SDKs in that build. Konfirmasi setiap jawaban privasi terhadap SDK yang ada di build tersebut.
- Read the current guideline sections that apply to your app model. Baca bagian panduan terbaru yang berlaku untuk model aplikasimu.
- Check the metadata, support URL, screenshots, and any licence or privacy links. Periksa metadata, support URL, screenshot, serta setiap tautan lisensi atau privasi.
The 30-minute launch checklist Checklist peluncuran 30 menit
- Product: Is this clearly more than a website in an iOS shell? Produk: Apakah ini jelas lebih dari sekadar website di dalam shell iOS?
- Accounts: Can users delete their account from inside the app? Akun: Bisakah pengguna menghapus akunnya dari dalam aplikasi?
- Privacy: Do your labels reflect every SDK and data path? Privasi: Apakah labelmu mencerminkan setiap SDK dan alur data?
- Monetisation: Are you using IAP wherever Apple requires it? Monetisasi: Apakah kamu memakai IAP di mana Apple mewajibkannya?
- Listing: Is your licence choice, support URL, and metadata complete? Listing: Apakah pilihan lisensi, support URL, dan metadata sudah lengkap?
- Review: Are credentials, steps, and test data ready for the reviewer? Review: Apakah kredensial, langkah, dan data uji sudah siap untuk reviewer?
Run this once before uploading and again against the build you actually submit. It will not replace legal or policy review, but it catches the avoidable mistakes. Jalankan sekali sebelum mengunggah dan sekali lagi pada build yang benar-benar kamu submit. Ini tidak menggantikan review hukum atau kebijakan, tetapi bisa menangkap kesalahan yang dapat dihindari.
Apple's own Before You Submit checklist is the final authority for the current submission rules. Checklist Before You Submit dari Apple adalah rujukan utama untuk aturan submission terbaru.