Aplikasi ditolak Apple: 5 penyebab nyata dan solusinya
Oleh Mehdi Azizi
Diperbarui , 8 mnt
Penolakan Apple karena guideline 2.1, 5.6.3, 5.1.1 dan 2.3.2 di aplikasi saya: penyebab sebenarnya, cara membalas, dan checklist sebelum submit.
Penolakan Apple hampir selalu punya alasan yang jelas, tertulis di pesan review: sebuah guideline bernomor, sering disertai screenshot. Alasan paling umum untuk aplikasi pertama adalah aplikasi yang belum selesai (2.1), privasi yang dideklarasikan dengan salah (5.1.1), metadata yang menyesatkan (2.3.2), pembayaran yang mengakali in-app purchase (3.1.1), atau permintaan rating di waktu yang salah (5.6.3). Di sebagian besar kasus, reviewer sebenarnya paham aplikasimu: submission-mu yang punya celah.
Saya tahu karena saya sendiri pernah kena penolakan ini. Saya merilis aplikasi iOS saya sendiri: Solys (alarm dengan mini-game) dan TradaZen (simulator trading) sudah ada di App Store. Solys ditolak dua kali, sekali sebelum rilis, sekali saat update, dan dua aplikasi lain, Clic dan Nolera, ditolak, diperbaiki, lalu dikirim ulang ke Apple. Berikut lima penolakan itu, penyebab sebenarnya, lalu cara membalasnya dan checklist yang saya pakai sebelum setiap submit.
Kenapa Apple menolak aplikasi: 5 penolakan yang saya alami
Penolakan 2.1 di Solys: demonya mustahil dimenangkan
Onboarding Solys punya demo yang bisa dimainkan: kamu harus memenangkan mini-game, seperti saat alarm berbunyi. Di HP saya, semuanya lancar. Tapi reviewer mengetes di iPad, tempat aplikasi iPhone berjalan dalam mode kompatibilitas di jendela yang lebih kecil. Di ukuran itu, celah yang disediakan untuk burung di mini-game jadi lebih sempit daripada burungnya sendiri, dan tombol "Lanjutkan" hanya aktif kalau kamu menang. Apple meminta cara untuk melewati misi game itu.
Perbaikannya: demo yang geometrinya dihitung dari ukuran layar sebenarnya, plus link untuk melewati demo kalau gagal.
Pelajarannya: setiap langkah wajib harus punya jalan keluar, dan setiap layar wajib dites di ukuran terkecil sebelum setiap submit.
Penolakan 5.6.3 di Solys: minta rating saat onboarding
Penolakan kedua, di update berikutnya. Apple menulis bahwa aplikasi meminta rating saat pertama kali dibuka atau saat onboarding. Layar rating muncul tepat setelah demo, sebelum pengguna merasakan apa pun di aplikasi.
Perbaikannya: permintaan dipindah ke akhir alur, dan hanya muncul kalau pengguna baru saja memenangkan demo.
Pelajarannya: setiap permintaan sensitif (rating, notifikasi, langganan, pelacakan) datang setelah ada bukti nilai, tidak pernah sebelumnya.
Penolakan 5.1.1 di Clic: kebijakan privasi online belum diperbarui
Clic membuat konten dengan AI, dan aplikasinya sudah punya layar persetujuan. Masalahnya di tempat lain: kebijakan privasi yang dipublikasikan di situs masih versi lama, dan tidak menjelaskan semua yang dikumpulkan aplikasi.
Perbaikannya: kebijakan lengkap dipublikasikan, ringkasan berbahasa Inggris ditambahkan, catatan review diperbarui.
Pelajarannya: Apple membaca kebijakanmu yang online, bukan yang tersimpan di repo. Sebelum setiap submit, buka URL yang kamu deklarasikan dan cek apakah isinya sesuai dengan apa yang dilakukan aplikasimu.
Penolakan 5.1.1 di Nolera: tombol "Izinkan" sebelum permintaan sistem
Sebelum permintaan akses kamera asli dari iOS, Nolera menampilkan layar penjelasan dengan tombol "Izinkan". Menurut Apple, label ini mendorong pengguna untuk setuju sebelum permintaan resmi dari sistem.
Perbaikannya: tombolnya sekarang bernama "Lanjutkan", di 8 bahasa aplikasi.
Pelajarannya: layar yang menyiapkan izin itu menjelaskan, bukan memutuskan atas nama pengguna. Rekomendasi Apple ada di aturan desain soal privasi.
Penolakan 2.3.2 di Nolera: ikon dipakai ulang sebagai gambar promosi
Langganan bisa punya gambar promosi di App Store Connect. Di dua langganan Nolera, gambarnya cuma ikon aplikasi. Apple menilainya tidak sesuai aturan.
Perbaikannya: gambar dihapus dari kedua langganan, dan submission dibuat ulang.
Pelajarannya: setiap elemen di halaman aplikasimu diperiksa, termasuk yang kamu isi tanpa banyak pikir, seperti rating usia.
Guideline mana yang paling sering bikin ditolak?
Semua aturan ada di App Review Guidelines. Yang paling sering menjebak aplikasi pertama:
2.1: App Completeness. Aplikasi crash, tombol tidak mengarah ke mana pun, layar wajib tidak bisa dilewati di satu ukuran layar. Kalau aplikasimu butuh login, sediakan akun demo di catatan review, kalau tidak reviewer akan tertahan di layar login. Semua yang perlu kamu tahu soal alasan ini ada di panduan guideline 2.1 saya.
2.3: Metadata. Screenshot yang tidak menampilkan aplikasi sebenarnya, deskripsi yang menjanjikan fitur yang tidak ada, gambar promosi yang tidak sesuai aturan.
3.1.1: In-App Purchase. Untuk membuka konten atau fitur digital di dalam aplikasi, aturan umumnya adalah in-app purchase dari Apple. Pengecualiannya tergantung negara dan terus berubah: baca versi terbaru guideline sebelum merencanakan metode pembayaran lain. Pembahasan lengkapnya ada di halaman langganan in-app iOS.
3.1.2: Subscriptions. Aplikasi berlangganan harus menunjukkan dengan jelas apa yang didapat pengguna dan berapa harganya. Kesalahan klasik di layar pembayaran ada di paywall iOS: 7 kesalahan pemula.
4.3: Spam. Aplikasinya mirip seribu aplikasi lain atau tidak cukup bernilai dengan sendirinya. Ini penolakan yang paling sulit diperbaiki: harus dicegah sejak memilih ide. Saya menjelaskannya secara detail di panduan guideline 4.3.
5.1.1: Privacy. Deklarasi pengumpulan data yang tidak sesuai dengan perilaku aplikasi, kebijakan privasi yang tidak lengkap, izin yang diminta tanpa penjelasan jelas.
Bagaimana membalas penolakan Apple tanpa buang waktu berhari-hari?
Penolakan bukan vonis, tapi bolak-balik. Prosedur yang berhasil:
- Baca alasannya dua kali. Pesannya menyebut guideline dan sering melampirkan screenshot. Banyak developer membalas tidak nyambung karena membaca terlalu cepat.
- Cari penyebab sebenarnya. Di Clic maupun Nolera, penyebab aslinya bukan yang terkesan dari teks pada pandangan pertama. Reproduksi masalahnya dalam kondisi reviewer: jenis perangkat yang sama, akun baru, pembukaan pertama.
- Perbaiki alasannya, bukan hal lain. Ini bukan saatnya menambah tiga fitur: setiap perubahan memperluas area yang di-review.
- Balas di App Store Connect. Jelaskan dalam dua kalimat faktual apa yang sudah kamu perbaiki, dengan membalas pesan App Review.
- Ajukan banding hanya kalau kamu yakin. Apple memungkinkan kamu mengajukan ke App Review Board kalau kamu merasa aplikasimu disalahpahami, dengan satu banding per submission yang ditolak. Membantah penolakan yang memang layak cuma buang waktu.
Soal waktu, Apple menyebut mereka me-review setidaknya 50% submission dalam kurang dari 24 jam, dan 90% dalam kurang dari 48 jam. Yang memperpanjang jadwal adalah penolakan, bukan antreannya: detailnya ada di lama review App Store. Langkah lengkap setelah penolakan ada di halaman aplikasi ditolak Apple.
Penolakan yang bisa dihindari menghabiskan satu siklus review penuh. Balasan terbaik untuk Apple adalah submission yang tidak menyisakan celah untuk dikritik.
Checklist yang saya pakai sebelum setiap submit
Dibangun dari penolakan demi penolakan, di aplikasi saya:
- Setiap layar wajib dites di iPhone terkecil, terbesar, dan di iPad dalam mode kompatibilitas, sesuai daftar di guideline 4.0 desain
- Ada jalan keluar di setiap langkah onboarding, bahkan saat gagal
- Akun demo di catatan review kalau aplikasinya punya login
- Pembelian dites di sandbox, termasuk restore
- Harga, durasi, dan link ke syarat ketentuan dan kebijakan privasi ada di tempat yang diwajibkan Apple, di setiap bahasa
- Kebijakan privasi online dibaca ulang di hari submit
- Deklarasi privasi sesuai dengan data yang benar-benar dikumpulkan aplikasi, termasuk privacy manifest
- Layar sebelum izin tanpa tombol "Izinkan"
- Permintaan rating dan notifikasi ditempatkan setelah ada bukti nilai, tanpa membuka apa pun sebagai imbalan rating (guideline 3.2.2)
- Gambar promosi dan screenshot yang menampilkan aplikasi sebenarnya, termasuk di custom product page kamu
Kalau ini rilis pertamamu, halaman merilis aplikasi di App Store merangkum semua langkah sebelum submit.
Template untuk menjelaskan alur aplikasimu ke App Review
Download template catatan App Review: instruksi dalam bahasa Prancis, catatan dalam bahasa Inggris untuk diisi, dan kerangka balasan untuk penolakan. Template ini membuatmu menuliskan versi, jalur di antara layar, dan hasil yang diharapkan. Simpan hanya yang benar-benar ada di build-mu.
Ganti "aplikasi menyimpan dengan benar" dengan skenario yang bisa direproduksi: layar awal, aksi, tutup lalu buka ulang, hasil yang ditemukan kembali. Setelah penolakan, sebutkan perilaku yang sudah diperbaiki dan perangkat tempat kamu memverifikasinya. Kalau kamu belum bisa mereproduksi masalahnya, jelaskan apa yang kurang untuk mereproduksinya.
Kredensial akun demo diisi di kolom khusus App Store Connect, jangan pernah di file publik. Kamu bisa menyiapkan buktinya dengan daftar tes TestFlight dan menemukan lima template gratis.
Menghindari penolakan ini sebelum submit
Apple Review Kit berisi checklist saya sebelum submit, penolakan Apple yang sudah saya perbaiki, dan skill Claude Code yang memeriksa proyekmu, paywall-mu, dan halaman aplikasimu sebelum submit.
Aplikasimu sudah ditolak? Kit ini membantumu menemukan aturan yang disebut, apa yang dimintanya, serta contoh perbaikan dan balasan. Kalau kamu mau kita lihat kasusmu bersama sekarang juga, booking satu jam dengan saya, lewat video call.
Tidak ada yang bisa menjamin Apple akan menerima aplikasimu. Belajar dari penolakan yang sudah pernah terjadi hanya mengurangi peluangmu terjebak di hal yang sama.
Belum mengirim aplikasimu? Diagnosis gratis akan mengirimkan checklist anti-penolakan Apple saya dan memberi tahu apa yang masih perlu dikerjakan. Kalau kamu masih membangunnya, halaman utama menunjukkan cara membuat aplikasi mobile dengan tetap mengingat penolakan-penolakan ini.
Pertanyaan umum
Kenapa aplikasi saya ditolak Apple?
Hampir selalu karena alasan yang jelas, tertulis di pesan review: sebuah guideline bernomor, sering disertai screenshot. Untuk aplikasi pertama, alasan paling umum adalah aplikasi yang belum selesai (2.1), privasi yang dideklarasikan dengan salah (5.1.1), dan metadata yang menyesatkan (2.3.2). Ada juga pembayaran yang mengakali in-app purchase (3.1.1) dan permintaan rating di waktu yang salah (5.6.3).
Kenapa aplikasi saya ditolak padahal jalan di iPhone saya?
Karena reviewer bisa mengetes dalam kondisi yang berbeda dari kamu. Di Solys, alarm mini-game saya, reviewer mengetes di iPad, tempat aplikasi iPhone berjalan dalam mode kompatibilitas di jendela yang lebih kecil. Di sana demonya mustahil dimenangkan. Perbaikannya: demo yang dihitung dari ukuran layar sebenarnya, plus link untuk melewatinya kalau gagal.
Apa yang harus dilakukan saat Apple menolak aplikasi saya?
Baca alasannya dua kali, lalu cari penyebab sebenarnya dengan mereproduksi masalah dalam kondisi reviewer: jenis perangkat yang sama, akun baru, pembukaan pertama. Perbaiki alasannya saja, tidak lebih, karena setiap perubahan memperluas area yang di-review. Lalu balas di App Store Connect, dengan dua kalimat faktual tentang apa yang sudah kamu perbaiki.
Apakah penolakan Apple bisa dibanding?
Bisa, tapi hanya kalau kamu yakin. Apple memungkinkan kamu mengajukan ke App Review Board kalau kamu merasa aplikasimu disalahpahami, dengan satu banding per submission yang ditolak. Membantah penolakan yang memang layak cuma buang waktu. Kalau tidak yakin, perbaiki alasannya dan balas di App Store Connect.
Apakah penolakan memperlama waktu rilis?
Ya. Apple menyebut mereka me-review setidaknya 50% submission dalam kurang dari 24 jam, dan 90% dalam kurang dari 48 jam: jadi yang memperpanjang jadwal adalah penolakan, bukan antreannya. Penolakan yang bisa dihindari menghabiskan satu siklus review penuh. Detail waktunya ada di lama review App Store.
Apa yang perlu dicek sebelum mengirim aplikasi ke Apple?
Tes setiap layar wajib di iPhone terkecil, terbesar, dan iPad dalam mode kompatibilitas, lalu tes pembelian di sandbox, termasuk restore. Baca ulang kebijakan privasi online-mu di hari submit dan sediakan akun demo di catatan review kalau aplikasinya punya login. Checklist ini dibangun dari penolakan demi penolakan, di aplikasi saya.