Lewati ke konten
Perbaikan review

Penolakan App Store 2.1 App Completeness: rencana uji build rilis sebelum mengirim ulang (2026)

Aplikasi ditolak App Store karena 2.1 App Completeness? Uji build yang persis diterima App Review: instalasi baru, akun demo yang berfungsi, backend aktif, pembelian dalam aplikasi yang terlihat, dan tanpa placeholder.

Jawaban singkat

Penolakan App Store berdasarkan pedoman 2.1 App Completeness berarti App Review tidak bisa memakai aplikasi Anda seperti pelanggan: aplikasinya crash, menampilkan konten placeholder, menghalangi mereka di layar login, atau menyembunyikan pembelian dalam aplikasi (2.1(b)). Untuk memperbaikinya, instal build TestFlight yang persis akan Anda kirim di perangkat bersih. Lalu masuk dengan kredensial demo yang Anda berikan ke Apple, pastikan backend produksi aktif, temukan setiap pembelian dalam aplikasi, dan tuliskan apa saja yang Anda perbaiki di catatan review sebelum mengirim ulang.

Poin penting
  • Apple menyebut lebih dari 40% masalah App Review yang belum terselesaikan terkait pedoman 2.1, yang mencakup crash, konten placeholder, dan informasi yang tidak lengkap.
  • Pedoman 2.1(a) mewajibkan detail akun demo dan back end yang aktif untuk setiap aplikasi yang memiliki login. Mode demo bawaan hanya diizinkan dengan persetujuan Apple terlebih dahulu.
  • Pedoman 2.1(b) mewajibkan pembelian dalam aplikasi terlihat oleh peninjau dan berfungsi. Jika salah satunya tidak dapat ditemukan di aplikasi, jelaskan alasannya di catatan review.
  • Uji nomor build yang sama dengan yang akan Anda kirim. Instal dari TestFlight di perangkat bersih; build TestFlight bisa diuji hingga 90 hari.
  • Apple mengizinkan satu banding per pengiriman yang ditolak, tetapi sebagian besar penolakan 2.1 lebih cepat diperbaiki dengan mereproduksi masalahnya di instalasi baru.
Kirim Aplikasi yang Sudah Jadi

Penolakan App Store berdasarkan 2.1 App Completeness berarti peninjau tidak bisa memakai aplikasi Anda seperti seorang pelanggan. Mungkin aplikasinya crash, menampilkan konten placeholder, menghalangi mereka di layar login, atau menyembunyikan pembelian dalam aplikasi. Perbaikannya jarang hanya satu baris kode. Sebelum mengirim ulang, jalankan rencana uji singkat pada build rilis, dengan instalasi baru dan kredensial yang sama dengan yang Anda berikan ke App Review. Artikel ini menguraikan rencana tersebut dan menunjukkan bagaimana developer lain memperbaiki penolakan yang sama.

Apa yang diperiksa pedoman App Store 2.1 App Completeness?

Pedoman 2.1 memeriksa bahwa build yang Anda kirim adalah aplikasi yang sudah jadi dan berfungsi. Build itu memerlukan metadata lengkap, tautan yang berfungsi, login demo, back end yang aktif, serta pembelian dalam aplikasi yang bisa ditemukan dan dipakai peninjau.

App Review Guidelines dari Apple membagi 2.1 menjadi dua bagian. 2.1(a) menyatakan bahwa pengiriman "harus berupa versi final dengan semua metadata yang diperlukan dan URL yang berfungsi penuh" serta teks placeholder dan situs web kosong harus dihapus. Bagian ini juga meminta Anda menguji di perangkat untuk mencari bug dan memastikan stabilitas, serta "sertakan info akun demo (dan nyalakan layanan back-end Anda!) jika aplikasi Anda memiliki login." Apple "akan menolak bundle dan binary aplikasi yang tidak lengkap, yang crash, atau yang menunjukkan masalah teknis yang jelas." 2.1(b) menyatakan bahwa pembelian dalam aplikasi harus "lengkap, mutakhir, terlihat oleh peninjau, dan berfungsi." Jika pembelian yang sudah dikonfigurasi tidak dapat ditemukan di aplikasi, jelaskan alasannya di catatan review.

Penolakan ini umum terjadi. Halaman Preparing for App Review dari Apple menyebutkan: "Rata-rata, lebih dari 40% masalah yang belum terselesaikan terkait pedoman 2.1: App Completeness, yang mencakup crash, konten placeholder, informasi yang tidak lengkap, dan lainnya."

Mengapa menguji build debug tidak menangkap masalah 2.1?

Build debug tidak berjalan seperti salinan milik peninjau. Peninjau menginstal build rilis bertanda tangan distribusi di perangkat bersih, tanpa sesi tersimpan dan tanpa jalan pintas debug.

Simulator Anda sudah dalam keadaan login. API lokal Anda mungkin mengarah ke server staging yang tidak pernah mati. Flag debug melewati paywall, dan feature flag aktif secara default. Peninjau tidak mendapatkan semua itu. Halaman review Apple juga meminta Anda untuk "menguji secara menyeluruh di perangkat yang menjalankan perangkat lunak terbaru," jadi peninjau mungkin memakai iOS yang lebih baru daripada ponsel uji Anda.

TestFlight adalah cara paling mendekati kondisi peninjau. Menurut ikhtisar TestFlight, Anda bisa menambahkan hingga 100 penguji internal dari tim App Store Connect Anda dan hingga 10.000 penguji eksternal. Sebuah build bisa diuji hingga 90 hari. Unggah build yang persis akan Anda kirim, instal dari TestFlight di perangkat yang belum pernah menjalankan aplikasi itu, lalu uji salinan tersebut.

Apa saja yang harus dicakup rencana uji build rilis sebelum mengirim ulang?

Rencana uji build rilis memeriksa setiap titik di mana peninjau baru bisa tertahan: peluncuran, izin, login, back end, konten, tautan, pembelian, gangguan jaringan, dan iPad. Jalankan langkah-langkahnya secara berurutan pada build TestFlight dan catat setiap hasilnya agar bisa Anda kutip di catatan review.

  1. Instalasi bersih di iOS terbaru. Hapus salinan sebelumnya, instal dari TestFlight, dan buka tanpa status tersimpan. Lakukan cold launch tiga kali dan pastikan onboarding tidak crash.
  2. Tolak setiap permintaan izin satu kali. Tolak notifikasi, lokasi, kamera, dan pelacakan. Aplikasi tetap harus mencapai layar yang bisa dipakai. Pastikan juga Info.plist memiliki usage description untuk setiap sumber daya terlindungi yang dipakai aplikasi atau SDK-nya.
  3. Masuk dengan kredensial demo yang persis sama. Salin dari App Store Connect, bukan dari pengelola kata sandi Anda. Akun tersebut harus berisi data yang realistis, tidak memerlukan verifikasi email, dan tidak memakai autentikasi dua faktor yang terhubung ke ponsel Anda sendiri.
  4. Pastikan back end adalah produksi dan aktif. Build harus mengarah ke endpoint produksi. Rate limit, allowlist IP, dan geo-blocking tidak boleh mengunci peninjau. Pedoman 2.1(a) meminta Anda menyalakan layanan back-end.
  5. Telusuri setiap tab dan layar. Cari lorem ipsum, layar "Segera hadir", tampilan kosong tanpa penjelasan, gambar uji, dan tombol yang tidak melakukan apa-apa.
  6. Ketuk setiap tautan. Termasuk kebijakan privasi, dukungan, ketentuan layanan, dan web view apa pun. Apple menyatakan "Tautan ke dukungan pengguna dengan informasi kontak terbaru dan tautan ke kebijakan privasi Anda wajib ada untuk semua aplikasi."
  7. Buka setiap pembelian dalam aplikasi. Masuk sebagai akun baru. Periksa bahwa setiap produk yang dikirim bersama versi tersebut muncul dengan harga, bisa dibeli di sandbox, dan bahwa Restore Purchases berfungsi.
  8. Uji di jaringan yang lambat atau terputus. Nyalakan mode pesawat di tengah alur. Pesan galat yang jelas tidak masalah. Spinner yang tidak pernah berhenti, atau crash, tidak dapat diterima.
  9. Periksa iPad jika Anda mendukungnya. Jika aplikasi berjalan di iPad, buka di sana dan pastikan tata letaknya tidak membuat pengguna terjebak.

Akun demo di langkah 3 menyebabkan penolakan berulang lebih sering daripada langkah lainnya. Panduan kami tentang menyiapkan akun demo untuk review App Store menjelaskan cara membuat akun yang awet.

Bagaimana memetakan pesan penolakan 2.1 ke perbaikannya?

Untuk memetakan penolakan 2.1 ke perbaikannya, baca kalimat setelah nomor pedoman. Kalimat itu menyebutkan gejalanya, dan setiap gejala mengarah ke satu langkah dalam rencana uji.

Misalkan aplikasi pelacak kebiasaan ditolak dengan pesan "We were unable to review the app because it crashed on launch." Catatan kedua menyebutkan bahwa peninjau tidak dapat menemukan pembelian dalam aplikasi. Tabel di bawah mencocokkan gejala umum dengan penyebab, pengujian, dan perbaikannya.

Kata peninjauKemungkinan penyebabPengujian yang dijalankanPerbaikan
Crash saat dibukaKode mengasumsikan pengguna sudah login atau ada data cache, atau usage description hilangLangkah 1 dan 2: instalasi bersih, cold launch, baca log crash yang dilampirkanTangani sesi nil; tambahkan kunci Info.plist yang hilang
Tidak bisa masukAkun demo kedaluwarsa, butuh verifikasi email atau 2FALangkah 3: login dengan kredensial yang disalinBuat akun review email dan kata sandi yang tahan lama dan sudah terverifikasi
Tidak menemukan IAPPaywall baru muncul setelah hari ke-3, atau produk tidak ada di paywallLangkah 7: temukan setiap produk dari akun baruTampilkan semua produk yang dikirim, atau jelaskan jalurnya di catatan
Konten placeholderLayar pengaturan masih bertuliskan "TODO"Langkah 5: telusuri setiap layarHapus atau selesaikan layar tersebut
Galat jaringanURL staging tertinggal di konfigurasi rilisLangkah 4: periksa endpoint di build rilisPerbaiki konfigurasi build dan unggah ulang

Untuk metode yang lebih luas dalam membaca pesan penolakan apa pun, lihat Penolakan App Store: cara memperbaikinya, pedoman demi pedoman.

Seperti apa penolakan 2.1 yang dialami developer lain?

Kasus 2.1 yang dipublikasikan mengikuti pola yang sama. Aplikasi berjalan di lingkungan developer dan gagal bagi peninjau karena sesuatu yang hanya terungkap lewat instalasi baru atau login orang asing.

  • Crash karena usage description yang hilang. Di forum Solar2D, seorang developer menerima pesan "We were unable to review the app because it crashed on launch" pada iPhone 13 mini dengan iOS 18.3.2, padahal aplikasinya berjalan di TestFlight. Anggota lain menemukan ini di log crash yang dilampirkan: "This app has crashed because it attempted to access privacy-sensitive data without a usage description." Developer tersebut melaporkan, "It passed after adding : NSUserTrackingUsageDescription."
  • Login sosial yang tidak bisa dipakai peninjau. Seorang developer di Apple Developer Forums melaporkan penolakan 2.1 berulang karena peninjau "were unable to use social logins." Mereka sudah memberikan akun demo Apple dan Google, tetapi login Apple ID memerlukan kode verifikasi yang dikirim ke ponsel developer. Staf Apple membalas bahwa App Review akan menghubungi mereka secara langsung. Tidak ada perbaikan yang dipublikasikan.
  • Pembelian dalam aplikasi "could not be found in the submitted binary." Dalam thread komunitas RevenueCat, seorang developer ditolak karena paket bulanan tidak ditemukan di binary, padahal pembelian sandbox berfungsi. Seorang penolong mengatakan penolakan serupa terselesaikan dengan membalas berisi panduan terperinci dan tangkapan layar setiap jalur menuju paywall. Staf RevenueCat menyarankan untuk menampilkan setiap produk yang dikirim di paywall default dan menjauhkan file pengujian StoreKit dari skema Archive.

Dalam ketiga kasus tersebut, pengujian developer sendiri lolos. Kegagalannya baru muncul dari titik awal peninjau: tanpa ponsel 2FA, tanpa sesi sebelumnya, dan tanpa tahu letak paywall. Titik awal itulah yang dibuat ulang oleh rencana uji di atas.

Apa yang harus ditulis di catatan App Review setelah penolakan 2.1?

Catatan review setelah penolakan 2.1 harus memberikan kredensial demo yang berfungsi, mencantumkan apa yang berubah sejak build yang ditolak, dan menyebutkan dengan tepat di mana menemukan pembelian dalam aplikasi serta fitur yang tidak langsung terlihat.

Halaman review Apple meminta Anda menaruh detail akun dan konfigurasi khusus di bagian App Review Information. Jika sebuah fitur memerlukan perangkat keras atau lingkungan yang sulit disiapkan, "bersiaplah untuk menyediakan video demo atau perangkat kerasnya." Pedoman 2.3.1(a) menambahkan bahwa fitur baru harus dijelaskan "secara spesifik" di Notes for Review, dan bahwa "deskripsi generik akan ditolak." Catatan singkat yang terstruktur bekerja dengan baik:

Demo account: review@example.com / (password)
Account is pre-verified, has no 2FA and has 30 days of sample data.

Fixes since last submission (2.1):
- Launch crash on fresh install fixed (tested build 42 on latest iOS, clean device).
- In-app purchases: Settings > Upgrade shows Monthly and Yearly.
- Backend is production and will stay live during review.

Non-obvious features:
- Widgets: long-press Home Screen > add "Streaks" widget.

Jika kewajiban hukum atau keamanan tidak memungkinkan adanya akun demo, pedoman 2.1(a) mengizinkan mode demo bawaan, tetapi hanya dengan persetujuan Apple terlebih dahulu, dan mode tersebut harus menampilkan seluruh fitur dan fungsi aplikasi. Jangan beralih ke mode demo tanpa persetujuan itu.

Bagaimana mengirim ulang atau mengajukan banding atas penolakan 2.1?

Untuk mengirim ulang setelah penolakan 2.1, unggah atau pilih build yang sudah Anda uji, balas App Review di App Store Connect dengan apa yang Anda ubah, perbarui catatan review, lalu kirim lagi. Ajukan banding hanya jika Anda yakin peninjau salah memahami aplikasi Anda.

  1. Pastikan nomor build yang terpasang pada versi di App Store Connect sama dengan build TestFlight yang Anda uji.
  2. Balas pesan penolakan dengan ringkasan singkat setiap perbaikan. Untuk masalah pembelian atau navigasi, tambahkan petunjuk langkah demi langkah dan tangkapan layar.
  3. Perbarui bagian App Review Information dengan kredensial dan catatan terbaru.
  4. Kirim untuk review. Per Oktober 2026, Apple menyatakan biasanya meninjau "setidaknya 50% pengiriman dalam waktu kurang dari 24 jam dan 90% dalam waktu kurang dari 48 jam."

Jika Anda yakin Apple keliru, halaman App Review memungkinkan Anda mengajukan banding ke App Review Board. Berikan alasan spesifik mengapa aplikasi Anda patuh, dan "Ajukan hanya satu banding per pengiriman yang tidak lolos review." Namun untuk penolakan 2.1, mereproduksi masalahnya di perangkat bersih biasanya lebih cepat daripada berdebat. Jika Anda lebih suka menyerahkan pengiriman ulangnya, layanan pengiriman App Store kami mencakup persiapan review dan penanganan umpan balik penolakan untuk kedua toko seharga $599, belum termasuk biaya akun developer.

Masalah 2.1 sering muncul kembali di pembaruan berikutnya: feature flag baru, API key yang dirotasi, atau akun demo yang kedaluwarsa. Tambahkan rencana uji ini ke rutinitas rilis Anda bersama checklist pengiriman App Store. Untuk pembaruan, phased release membatasi jumlah pengguna yang terkena bug yang terlewat. Untuk mendapatkan pendapat kedua tentang build yang ditolak, kirim email ke yagyeshsrbobde@gmail.com beserta pesan penolakannya.

Pertanyaan yang sering diajukan

Apakah saya perlu build baru untuk memperbaiki penolakan pedoman 2.1?

Tidak selalu. Jika peninjau tidak bisa masuk atau tidak menemukan pembelian dalam aplikasi, sering kali Anda cukup memperbarui akun demo atau menambahkan jalur menuju pembelian di catatan review, lalu membalas di App Store Connect. Crash, konten placeholder, atau URL staging di konfigurasi rilis memang memerlukan build baru. Unggah ke TestFlight dan uji ulang di perangkat bersih sebelum Anda mengirimnya.

Mengapa aplikasi saya crash bagi App Review tetapi tidak di ponsel saya?

Peninjau menginstal salinan baru tanpa sesi tersimpan, data cache, atau flag debug, sering kali di perangkat atau versi iOS yang berbeda dari milik Anda. Salah satu penyebab umum adalah usage description yang hilang di Info.plist. iOS menghentikan aplikasi yang mengakses data sensitif privasi tanpa deskripsi tersebut. Baca log crash yang dilampirkan Apple, lalu reproduksi crash-nya dengan menginstal build TestFlight di perangkat yang belum pernah menjalankan aplikasi itu.

Bisakah App Review memakai Sign in with Apple atau Google dengan akun demo saya?

Itu berisiko. Apple ID atau akun Google yang dilindungi autentikasi dua faktor mengirim kodenya ke ponsel Anda, sehingga peninjau tertahan. Berikan App Review akun email dan kata sandi yang sudah terverifikasi dan berisi data yang realistis. Jika aplikasi Anda hanya mendukung login sosial, jelaskan hal ini di catatan review dan hubungi App Review sebelum Anda mengirim.

Berapa lama App Review berlangsung setelah saya mengirim ulang perbaikan 2.1?

Per Oktober 2026, Apple menyatakan App Review biasanya meninjau setidaknya 50% pengiriman dalam waktu kurang dari 24 jam dan 90% dalam waktu kurang dari 48 jam. Pengiriman ulang melewati antrean yang sama. Apple juga memperingatkan bahwa pengiriman yang tidak lengkap dapat menunda review atau membuatnya gagal, jadi kredensial demo yang lengkap dan catatan yang jelas membantu pengiriman ulang lolos dalam satu putaran.

Apa arti "cannot locate the in-app purchases"?

Artinya peninjau tidak dapat menemukan, di dalam binary yang dikirim, produk yang Anda konfigurasi di App Store Connect. Entah paywall tidak menampilkan produk itu, ID produknya tidak cocok, atau untuk mencapai pembelian diperlukan langkah yang tidak diketahui peninjau. Tampilkan setiap produk yang dikirim di paywall yang bisa dijangkau akun baru. Jika tidak, balas dengan petunjuk langkah demi langkah dan tangkapan layar, atau hapus produk yang belum Anda tawarkan.

Sumber & bacaan lanjutan

Kebijakan bisa berubah. Periksa dokumentasi resmi sebelum mengajukan.

Bawa build-nya. Atau idenya.

Ayo bawa aplikasi Anda sampai garis finis.

Panggilan terfokus untuk mencari tahu apa yang masih menghalangi aplikasi Anda tayang di store.

Jadwalkan panggilan ↗