# Guideline 2.1 App Store: faham dan betulkan penolakan

> Guideline 2.1 App Completeness: apa yang diliputi, cara Apple menguji app anda, apa yang perlu dibalas kepada reviewer dan 3 penolakan sebenar pada app saya.

Halaman asal: [Guideline 2.1 App Store: faham dan betulkan penolakan](https://devoria.fr/ms/blog/guideline-2-1-app-store-penolakan)
Pengarang: [Mehdi Azizi](https://devoria.fr/ms/mehdi-azizi)
Diterbitkan: 2026-09-23
Semakan kandungan terakhir: 2026-10-09


Guideline 2.1 ialah peraturan yang paling banyak menjatuhkan penghantaran app. Apple sendiri menulisnya di [halaman App Review](https://developer.apple.com/distribute/app-review/): secara purata, lebih 40 % masalah yang tidak diselesaikan berkaitan dengan 2.1, iaitu peraturan yang meliputi crash, kandungan sementara dan maklumat tidak lengkap.

Artikel ini membincangkan peraturan ini sahaja: apa yang diliputinya, dua variannya, cara reviewer menguji app anda, dan apa yang perlu dibalas, bersama tiga penolakan yang saya terima pada app saya sendiri. Untuk gambaran keseluruhan semua sebab penolakan, baca [kenapa Apple menolak app](https://devoria.fr/ms/blog/aplikasi-ditolak-apple-5-kes-sebenar).

## Apakah guideline 2.1 App Completeness?

Guideline 2.1 mewajibkan app yang dihantar kepada Apple ialah versi akhir dan lengkap: tiada crash, tiada pautan mati, tiada teks sementara, ada akaun demo jika app memerlukan log masuk, dan pembelian dalam app yang kelihatan serta berfungsi. Jika reviewer tidak dapat meneroka app anda hingga habis, itu penolakan 2.1.

Teks rasmi ada dalam [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#2.1), seksyen 2 "Performance". Ia terbahagi kepada dua perenggan.

**2.1(a)** meminta setiap penghantaran ialah versi akhir, dengan semua metadata dan URL yang berfungsi. Teks sementara, laman web kosong dan semua kandungan sementara mesti dibuang sebelum dihantar. App mesti diuji pada peranti sebenar untuk pepijat dan kestabilannya. Jika ia memerlukan log masuk, anda sediakan akaun demo dan biarkan server anda hidup. Mod demo terbina dalam boleh menggantikan akaun ini, tetapi hanya dengan kelulusan awal Apple, dan ia mesti menunjukkan semua fungsi app. Ayat yang merumuskan semuanya: "We will reject incomplete app bundles and binaries that crash".

**2.1(b)** berkaitan pembelian dalam app: ia mesti lengkap, terkini, kelihatan kepada reviewer dan berfungsi. Jika pembelian yang dikonfigurasi dalam App Store Connect tidak dapat ditemui dalam app, anda mesti terangkan sebabnya dalam nota semakan.

## Apa yang diliputi guideline 2.1 secara praktikal

Secara praktikal, penolakan 2.1 berlaku atas salah satu sebab ini:

- **Crash.** Semasa dilancarkan, selepas kebenaran ditolak, tanpa rangkaian. Satu sahaja sudah cukup.
- **Pautan mati.** Privasi, terma penggunaan, sokongan: setiap URL yang diisytiharkan akan dibuka.
- **Fungsi yang tidak boleh diakses.** Butang yang tidak membawa ke mana-mana, skrin wajib yang mustahil dilepasi, onboarding tanpa jalan keluar. Bentuk paling licik: tidak kelihatan pada telefon anda sendiri.
- **Akaun demo tiada atau tamat tempoh.** Reviewer tersekat di skrin log masuk, atau akaun yang diberi sudah tidak berfungsi, atau server dimatikan.
- **Kandungan pengisi.** Lorem ipsum, "Akan datang", skrin kosong, data ujian yang kelihatan.
- **Pembelian dalam app tidak dapat ditemui.** Langganan wujud dalam App Store Connect, tetapi reviewer tidak jumpa skrin yang menjualnya, atau pembelian gagal dalam sandbox. Kesilapan skrin pembayaran yang paling biasa ada dalam [paywall iOS: 7 kesilapan pemula](https://devoria.fr/ms/blog/paywall-ios-kesilapan-pemula-jualan).

## 2.1 Information Needed atau 2.1(a): apa bezanya?

Mesej Apple tidak semuanya bertajuk sama, dan perbezaan ini mengubah balasan anda.

**"Guideline 2.1 - Information Needed"** bermaksud reviewer tidak dapat menyelesaikan semakannya dan bertanya kepada anda. Ada pengecam yang tiada, penjelasan yang tiada, atau cara untuk sampai ke sesuatu fungsi. Ini belum lagi penemuan pepijat: ini satu permintaan. Kadangkala, jawapan yang tepat dalam App Store Connect sudah cukup. Tetapi jika soalan itu mendedahkan sekatan sebenar dalam app, build baharu diperlukan.

**"Guideline 2.1(a) - Performance - App Completeness"** bermaksud reviewer telah menemui masalah: crash, pepijat, skrin yang tidak bertindak balas. Mesej biasanya menyebut peranti yang digunakan dan selalunya melampirkan tangkapan skrin. Di sini, anda perlu membetulkan, menghantar semula build, kemudian membalas.

## Cara Apple menguji app anda

Letakkan diri anda di tempat reviewer. Tiga perkara penting.

**Dia menguji pada peranti yang mungkin anda tiada.** Mesej penolakan selalunya menyebut modelnya. Peraturan 2.4.1 menyatakan app iPhone sepatutnya berjalan pada iPad sedapat mungkin, dan app yang direka untuk iPhone dipaparkan di situ dalam mod keserasian, dalam tetingkap bersaiz iPhone. Penolakan 2.1 terbaru saya datang daripada iPad Air: jika anda hanya menguji pada iPhone anda, anda tidak nampak apa yang reviewer nampak.

**Dia bermula dari pelancaran pertama.** App baharu, tiada cache, tiada sesi, tiada kemas kini yang dimuat turun.

**Rangkaian mesti berfungsi dengan IPv6 sahaja.** Peraturan 2.5.5, berjiran dengan guideline 2.5.4 tentang mod latar belakang, mewajibkan app berfungsi sepenuhnya pada rangkaian IPv6 sahaja, dan [halaman sokongan Apple tentang IPv6](https://developer.apple.com/support/ipv6/) menjadikannya keperluan untuk semua app yang dihantar sejak 1 Jun 2016. Risikonya datang daripada alamat IPv4 yang ditulis secara tetap: Apple menasihatkan ujian pada rangkaian IPv6 sahaja, dengan data selular dimatikan.

Untuk meniru keadaan ini sebelum menghantar, TestFlight pada beberapa peranti masih cara paling mudah: lihat [TestFlight: menguji app iPhone anda](https://devoria.fr/ms/blog/testflight-uji-aplikasi-iphone-sebelum-hantar).

## Tiga penolakan yang saya terima, dan punca sebenarnya

Tiga penolakan terbaru pada app saya sendiri, bersama punca sebenarnya.

### Solys: demo permainan mini yang mustahil dimenangi pada iPad

Solys ialah jam loceng saya dengan permainan mini. Pada 18 Ogos 2026, satu build ditolak dengan "2.1 Information Needed": Apple meminta cara untuk melepasi misi permainan. Reviewer menguji pada iPad Air, dengan app iPhone dalam mod keserasian.

Punca sebenar ada dalam demo permainan mini di onboarding. Ketinggian halangan ditulis dalam point tetap. Pada ketinggian kad yang tersedia di iPad dalam mod keserasian, laluan menjadi lebih sempit daripada watak: demo itu mustahil dimenangi. Dan butang "Teruskan" hanya menyala jika menang. Tiada jalan keluar: reviewer tidak dapat melihat app.

**Pembetulannya**: geometri yang berkadar dengan saiz kad yang diukur, dan pautan "Langkau demo" yang muncul selepas kalah.

**Pengajarannya**: setiap langkah yang disekat oleh prestasi mesti ada jalan keluar tanpa syarat. Dan setiap skrin wajib diuji pada skrin terkecil yang disokong DAN pada iPad dalam mod keserasian.

### Nolera: pembetulan yang tidak kelihatan kepada reviewer

Pada 17 September 2026, Nolera ditolak selepas semakan pada iPad Air. Mesejnya menggabungkan 2.1(a) dan beberapa perkara lain. Pembetulan masalah yang dilaporkan telah dihantar melalui kemas kini jarak jauh (OTA), tanpa build baharu.

Masalahnya: pada pelancaran pertama, reviewer melihat kod yang terbenam dalam build, bukan kemas kini yang dimuat turun selepas itu. Baginya, pembetulan itu tidak wujud.

**Pengajarannya**: pembetulan yang ditujukan untuk semakan mesti ada dalam binari yang dihantar kepada Apple.

### Clic: puncanya bukan dalam app

Pada 16 September 2026, Clic ditolak. App itu sendiri sudah terkini. Punca sebenar ada di tempat lain: dasar privasi yang diterbitkan dalam talian tidak dikemas kini tentang penyedia AI yang digunakan. Penolakan ini lebih berkaitan privasi daripada 2.1, tetapi ia menunjukkan perkara yang sama: punca sebenar tidak selalu seperti yang dibayangkan oleh mesej.

**Pengajarannya**: semak apa yang ada dalam talian, bukan apa yang ada dalam repositori anda. Buka setiap URL yang diisytiharkan pada hari penghantaran.

## Apa yang perlu dibalas dalam Resolution Center

Selepas penolakan, penghantaran anda bertukar kepada ["Unresolved Issues"](https://devoria.fr/ms/blog/waiting-for-review-app-store-connect-status) dan perbualan dengan Apple berlaku dalam seksyen App Review app anda, yang masih dipanggil Resolution Center. Prosedur rasmi untuk [membalas App Review](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/) membenarkan mesej maksimum 4,000 aksara, dengan satu lampiran.

Tulis dalam bahasa Inggeris, secara ringkas. Reviewer mahukan tiga maklumat: apa yang menyekat, apa yang berubah, cara mengesahkannya. Ini templat yang saya guna (gantikan nombor build dan pembetulan dengan milik anda):

```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,
```

Beberapa peraturan:

- **Jawab soalan yang ditanya.** Untuk "Information Needed", mulakan dengan jawapan tepat, bukan dengan konteks.
- **Namakan build dan berikan laluan** ke skrin yang dibetulkan, dalam tiga atau empat tindakan.
- **Lampirkan bukti.** Video pendek pada peranti yang hampir sama dengan peranti reviewer mengelakkan satu lagi pusingan berulang-alik.
- **Jangan merayu.** Rayuan kepada App Review Board memang ada, tetapi untuk penolakan 2.1 yang wajar, ia hanya memanjangkan penantian. Butiran tempoh menunggu ada dalam [tempoh semakan App Store](https://devoria.fr/ms/blog/tempoh-semakan-app-store-berapa-lama).

Jika sebabnya masih kabur selepas dibaca, langkah lengkapnya ada di halaman [app ditolak oleh Apple](https://devoria.fr/ms/expertise/aplikasi-ditolak-apple).

## Nota semakan dan akaun demo

Seksyen App Review Information bagi versi anda, dalam App Store Connect, ialah pertahanan terbaik anda terhadap 2.1. Menurut [rujukan rasmi medan ini](https://developer.apple.com/help/app-store-connect/reference/app-review-information/), ia mengandungi:

- **Sign-in required**: nama pengguna dan kata laluan akaun demo. Akaun ini tidak boleh tamat tempoh. Jika app anda menggunakan log masuk pihak ketiga, berikan butiran log masuk perkhidmatan itu.
- **Notes**: sehingga 4,000 bait, dalam bahasa pilihan anda. Apa sahaja yang membantu pengujian.
- **Contact**: nama, e-mel dan nombor telefon dalam format antarabangsa.

Apa yang saya sentiasa masukkan dalam nota:

1. **Laluan ke setiap pembelian dalam app**, seperti yang diminta peraturan 2.1(b).
2. **Fungsi yang tidak jelas**: gerak isyarat, kebenaran, kandungan yang bergantung pada masa.
3. **Keadaan akaun demo**: pelanggan atau tidak, data telah diisi atau kosong.
4. **Had yang diketahui**: untuk perkakasan atau persekitaran yang sukar ditiru, Apple meminta anda bersedia untuk memberikan video.

Dan satu peraturan di luar borang: **biarkan server anda hidup sepanjang semakan.** Server ujian yang dimatikan bermakna akaun demo tidak berfungsi, jadi penolakan 2.1.

## Senarai semak 2.1 sebelum penghantaran

Senarai yang saya guna sebelum setiap penghantaran, dibina daripada penolakan saya:

- App dipasang dari kosong pada iPhone terkecil yang disokong, yang terbesar, dan iPad dalam mod keserasian
- Onboarding dilalui sepenuhnya, dengan sengaja gagal pada setiap langkah yang memerlukan prestasi
- Setiap skrin wajib mempunyai jalan keluar tanpa syarat
- Tiada pembetulan untuk semakan yang dihantar hanya melalui kemas kini jarak jauh
- App dilancarkan dalam mod pesawat, kemudian pada rangkaian IPv6 sahaja
- Setiap URL yang diisytiharkan dibuka pada hari yang sama: privasi, terma, sokongan
- Tiada teks sementara, skrin kosong atau data ujian yang kelihatan
- Akaun demo diuji pada hari penghantaran, tanpa tarikh tamat, server hidup
- Setiap pembelian dalam app ditemui dari dalam app dan diuji dalam sandbox, termasuk pemulihan
- Nota semakan yang menyatakan lokasi pembelian dan fungsi yang tidak jelas

Jika ini penerbitan pertama anda, semua langkah sebelumnya ada dalam [menerbitkan app di App Store](https://devoria.fr/ms/expertise/terbitkan-aplikasi-di-app-store).

## Hantar dokumen anda bersama seseorang yang pernah menerima penolakan ini

[Apple Review Kit](https://devoria.fr/ms/kits/review-apple) menghimpunkan senarai semak saya sebelum penghantaran, templat nota untuk penguji dan skill Claude Code yang menyemak projek anda sebelum anda menghantarnya.

Anda baru menerima penolakan 2.1? Kit ini juga membantu anda mencari peraturan yang disebut, apa yang dimintanya, dan contoh pembetulan serta balasan. Jika anda mahu kita semak dokumen anda bersama sekarang juga, [tempah satu jam dengan saya](https://devoria.fr/ms/coaching), melalui panggilan video.

Tiada sesiapa boleh menjamin Apple akan menerima app anda. Apa yang saya boleh lakukan ialah membantu anda mengelakkan penolakan 2.1 yang saya sendiri sudah bayar dengan satu kitaran semakan.

Belum menghantar app anda? [Diagnostik percuma](https://devoria.fr/ms/diagnostic) menghantar senarai semak anti-penolakan Apple saya, termasuk peraturan 2.1, dan memberitahu apa yang masih perlu dibuat sebelum menghantar. Jika anda masih membinanya, halaman utama menunjukkan cara [membina app mudah alih](https://devoria.fr/ms) dengan semakan diambil kira dari awal.

## Soalan lazim

### Apa maksud "Guideline 2.1 - Information Needed"?

Reviewer tidak dapat menamatkan semakannya dan bertanya kepada anda: pengecam, penjelasan, cara untuk mengakses sesuatu fungsi. Balas dengan tepat dalam App Store Connect. Jika soalan itu mendedahkan sekatan sebenar dalam app, seperti pada Solys, betulkannya dan hantar build baharu.

### Perlukah build baharu selepas penolakan 2.1?

Untuk crash, pepijat atau skrin yang menyekat, ya: pembetulan mesti ada dalam binari. Kemas kini jarak jauh tidak mencukupi, kerana reviewer melihat kod yang terbenam pada pelancaran pertama. Untuk maklumat yang tertinggal sahaja, balasan mungkin sudah cukup.

### App saya memerlukan log masuk: apa yang perlu diberikan kepada reviewer?

Akaun demo yang tidak tamat tempoh, diisi dalam seksyen App Review Information, dan server yang hidup sepanjang semakan. Mod demo terbina dalam boleh menggantikan akaun ini hanya dengan kelulusan awal Apple, dan ia mesti menunjukkan semua fungsi.

### Bolehkah penolakan 2.1 berpunca daripada perkara selain app?

Ya. URL mati dalam halaman app, akaun demo yang tamat tempoh, server yang dimatikan atau pembelian dalam app yang salah konfigurasi sudah cukup. Dan kadangkala, seperti pada Clic, punca sebenar ada dalam talian dan bukan dalam kod: semak semua yang boleh dibuka oleh reviewer.


## Projek anda

[Apple Review Kit](https://devoria.fr/ms/kits/review-apple): Senarai semak review App Store yang saya guna, penolakan Apple yang saya betulkan, nota untuk penguji dan dua skill Claude Code yang menyemak aplikasi anda. 29 €.

[iOS Kit](https://devoria.fr/ms/kits/ios): Bina aplikasi iPhone anda dengan Claude Code: kod permulaan aplikasi saya, skill yang menyemak kerjanya, serta Apple Review Kit, App Store Screenshots Kit dan ASO Kit. 129,99 €.
