Smernica 2.1 App Store: razumi in odpravi zavrnitev
Avtor: Mehdi Azizi
Posodobljeno , 9 min
Smernica 2.1 App Completeness: kaj pokriva, kako Apple testira tvojo aplikacijo, kaj odgovoriti pregledovalcu in 3 resnične zavrnitve mojih aplikacij.
Smernica 2.1 je pravilo, ob katerem pade največ oddaj. Apple to sam piše na svoji strani App Review: v povprečju se več kot 40 % nerešenih težav nanaša na 2.1, ki pokriva zrušitve, začasno vsebino in nepopolne podatke.
Ta članek obravnava samo to pravilo: kaj zajema, njegovi dve različici, kako pregledovalec testira tvojo aplikacijo in kaj mu odgovoriti, s tremi zavrnitvami, ki sem jih dobil na svojih aplikacijah. Za pregled vseh razlogov za zavrnitev raje preberi zakaj Apple zavrne aplikacijo.
Kaj je smernica 2.1 App Completeness?
Smernica 2.1 zahteva, da je aplikacija, ki jo pošlješ Applu, končna in popolna različica: brez zrušitev, brez mrtvih povezav, brez začasnega besedila, z demo računom, če aplikacija zahteva prijavo, ter z vidnimi in delujočimi nakupi v aplikaciji. Če pregledovalec ne more preiti tvoje aplikacije do konca, je to zavrnitev 2.1.
Uradno besedilo je v App Review Guidelines, v razdelku 2 »Performance«. Deli se na dva odstavka.
2.1(a) zahteva, da je vsaka oddaja končna različica, z vsemi metapodatki in delujočimi URL-ji. Začasno besedilo, prazne spletne strani in vsa začasna vsebina morajo izginiti pred oddajo. Aplikacija mora biti preizkušena na pravi napravi glede napak in stabilnosti. Če zahteva prijavo, priložiš demo račun in pustiš strežnik prižgan. Vgrajen demo način lahko nadomesti ta račun, a samo s predhodnim soglasjem Appla, in mora prikazati vse funkcije aplikacije. Stavek, ki vse povzame: »We will reject incomplete app bundles and binaries that crash«.
2.1(b) zadeva nakupe v aplikaciji: biti morajo popolni, posodobljeni, vidni pregledovalcu in delujoči. Če nakupa, nastavljenega v App Store Connect, v aplikaciji ni mogoče najti, moraš razložiti zakaj v opombah za pregled.
Kaj smernica 2.1 zajema v praksi
V praksi zavrnitev 2.1 pade iz enega od teh razlogov:
- Zrušitev. Ob zagonu, po zavrnjenem dovoljenju, brez omrežja. Dovolj je ena sama.
- Mrtva povezava. Zasebnost, pogoji uporabe, podpora: vsak naveden URL bo odprt.
- Nedostopna funkcija. Gumb, ki ne vodi nikamor, obvezen zaslon, ki ga ni mogoče preiti, uvajanje brez izhoda. Najbolj zahrbtna oblika: na tvojem telefonu je nevidna.
- Manjkajoč ali potekel demo račun. Pregledovalec obtiči na zaslonu za prijavo, ali priloženi račun ne deluje več, ali je strežnik ugasnjen.
- Polnilna vsebina. Lorem ipsum, »Kmalu na voljo«, prazen zaslon, vidni testni podatki.
- Nakupi v aplikaciji, ki jih ni mogoče najti. Naročnina obstaja v App Store Connect, a pregledovalec ne najde zaslona, ki jo prodaja, ali pa nakup v sandboxu ne uspe. Najpogostejše napake plačilnega zaslona so v paywall iOS: 7 začetniških napak.
2.1 Information Needed ali 2.1(a): kakšna je razlika?
Applova sporočila nimajo vsa istega naslova, in razlika spremeni tvoj odgovor.
»Guideline 2.1 - Information Needed« pomeni, da pregledovalec ni mogel dokončati pregleda in ti postavlja vprašanje. Manjka prijavni podatek, razlaga, način, kako priti do neke funkcije. To še ni ugotovitev napake: to je prošnja. Včasih zadošča natančen odgovor v App Store Connect. Če pa vprašanje razkrije resnično blokado v aplikaciji, potrebuješ nov build.
»Guideline 2.1(a) - Performance - App Completeness« pomeni, da je pregledovalec ugotovil težavo: zrušitev, napako, zaslon, ki se ne odziva. Sporočilo običajno navede uporabljeno napravo in pogosto priloži posnetek zaslona. Tu moraš popraviti, poslati nov build in nato odgovoriti.
Kako Apple testira tvojo aplikacijo
Postavi se v kožo pregledovalca. Pomembne so tri stvari.
Testira na napravi, ki je morda nimaš. Sporočilo o zavrnitvi pogosto navede model. Pravilo 2.4.1 določa, da morajo aplikacije za iPhone delovati na iPadu, kadar je le mogoče, in aplikacija, narejena za iPhone, se tam prikaže v načinu združljivosti, v oknu formata iPhone. Moje nedavne zavrnitve 2.1 so prišle z iPad Air: če testiraš samo na svojem iPhonu, ne vidiš tega, kar vidi pregledovalec.
Začne s prvim zagonom. Sveža aplikacija, brez predpomnilnika, brez seje, brez prenesene posodobitve.
Omrežje mora delovati samo na IPv6. Pravilo 2.5.5, soseda smernice 2.5.4 o načinih v ozadju, zahteva, da aplikacija v celoti deluje v omrežju samo z IPv6, in Applova stran podpore o IPv6 to postavlja kot zahtevo za vse aplikacije, oddane od 1. junija 2016. Tveganje izhaja iz trdo zapisanega naslova IPv4: Apple svetuje testiranje v omrežju samo z IPv6, z izklopljenimi mobilnimi podatki.
Da te pogoje poustvariš pred oddajo, je TestFlight na več napravah še vedno najpreprostejši: glej TestFlight: testiranje aplikacije za iPhone.
Tri zavrnitve, ki sem jih dobil, in njihov pravi vzrok
Tri nedavne zavrnitve mojih aplikacij, z njihovim pravim vzrokom.
Solys: demo mini igre, ki je na iPadu ni bilo mogoče zmagati
Solys je moja budilka z mini igrami. 18. avgusta 2026 je bil build zavrnjen z »2.1 Information Needed«: Apple je spraševal, kako preiti igralno misijo. Pregledovalec je testiral na iPad Air, z aplikacijo za iPhone v načinu združljivosti.
Pravi vzrok je bil v demu mini igre pri uvajanju. Višine ovir so bile zapisane v fiksnih točkah. Pri višini kartice, ki je na iPadu v združljivosti na voljo, je prehod postal ožji od lika: demo ni bilo mogoče zmagati. In gumb »Nadaljuj« se je prižgal samo ob zmagi. Ni bilo izhoda: pregledovalec aplikacije ni mogel videti.
Popravek: geometrija, sorazmerna z izmerjeno velikostjo kartice, in povezava »Preskoči demo«, ki se pojavi po porazu.
Lekcija: vsak korak, ki ga blokira dosežek, mora imeti brezpogojni izhod. In vsak obvezen zaslon se testira na najmanjšem podprtem zaslonu IN na iPadu v načinu združljivosti.
Nolera: popravek, ki ga pregledovalec ni videl
- septembra 2026 je bila Nolera zavrnjena po pregledu na iPad Air. Sporočilo je združevalo 2.1(a) in druge točke. Popravek prijavljene težave je bil dostavljen z oddaljeno posodobitvijo (OTA), brez novega builda.
Težava: ob čisto prvem zagonu pregledovalec vidi kodo, vgrajeno v build, ne posodobitve, prenesene pozneje. Zanj popravek ni obstajal.
Lekcija: popravek, namenjen pregledu, mora biti v binarni datoteki, poslani Applu.
Clic: vzrok ni bil v aplikaciji
- septembra 2026 je bila Clic zavrnjena. Aplikacija sama je bila posodobljena. Pravi vzrok je bil drugje: na spletu objavljena politika zasebnosti ni bila posodobljena glede uporabljenega ponudnika umetne inteligence. Ta zavrnitev sodi bolj pod zasebnost kot pod 2.1, a ponazarja isto: pravi vzroki niso vedno tisti, ki jih nakazuje sporočilo.
Lekcija: preveri, kaj je na spletu, ne kaj je v tvojem repozitoriju. Na dan oddaje odpri vsak naveden URL.
Kaj odgovoriti v Resolution Center
Po zavrnitvi tvoja oddaja preide v »Unresolved Issues«, pogovor z Applom pa poteka v razdelku App Review tvoje aplikacije, ki mu še vedno pravimo Resolution Center. Uradni postopek za odgovor App Review dovoljuje sporočilo z največ 4000 znaki in eno prilogo.
Piši v angleščini, zadržano. Pregledovalec hoče tri podatke: kaj je blokiralo, kaj se je spremenilo, kako to preveriti. To je predloga, ki jo uporabljam (zamenjaj številko builda in popravek s svojima):
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,
Nekaj pravil:
- Odgovori na zastavljeno vprašanje. Pri »Information Needed« začni z natančnim odgovorom, ne s kontekstom.
- Navedi build in podaj pot do popravljenega zaslona, v treh ali štirih korakih.
- Priloži dokaz. Kratek video na napravi, podobni pregledovalčevi, prepreči nov krog.
- Brez zagovarjanja. Pritožba pri App Review Board obstaja, a pri upravičeni zavrnitvi 2.1 samo podaljša čakanje. Podrobnosti o rokih so v čas odobritve v App Store.
Če razlog po branju ostaja nejasen, je celoten postopek na strani aplikacija, ki jo je Apple zavrnil.
Opombe za pregled in demo račun
Razdelek App Review Information tvoje različice v App Store Connect je tvoja najboljša obramba pred 2.1. Po uradni referenci teh polj vsebuje:
- Sign-in required: uporabniško ime in geslo demo računa. Ta račun ne sme poteči. Če tvoja aplikacija uporablja prijavo prek tretje strani, priloži prijavne podatke za to storitev.
- Notes: do 4000 bajtov, v jeziku po tvoji izbiri. Vse, kar pomaga pri testiranju.
- Contact: ime, e-pošta in telefonska številka v mednarodnem formatu.
Kaj vedno zapišem v opombe:
- Pot do vsakega nakupa v aplikaciji, kot zahteva pravilo 2.1(b).
- Neočitne funkcije: kretnja, dovoljenje, vsebina, vezana na uro.
- Stanje demo računa: naročen ali ne, vnaprej izpolnjeni ali prazni podatki.
- Znane omejitve: za strojno opremo ali okolje, ki ga je težko poustvariti, Apple zahteva, da si pripravljen priložiti video.
In pravilo zunaj obrazca: pusti strežnik prižgan ves čas pregleda. Ugasnjen testni strežnik pomeni demo račun, ki ne deluje več, torej zavrnitev 2.1.
Kontrolni seznam 2.1 pred oddajo
Tisti, ki ga uporabim pred vsako oddajo, zgrajen na mojih zavrnitvah:
- Aplikacija nameščena od začetka na najmanjšem podprtem iPhonu, največjem in iPadu v načinu združljivosti
- Uvajanje preiteno v celoti, z namernim neuspehom pri vsakem koraku, ki zahteva dosežek
- Vsak obvezen zaslon ima brezpogojni izhod
- Noben popravek, namenjen pregledu, ni dostavljen samo z oddaljeno posodobitvijo
- Aplikacija zagnana v letalskem načinu, nato v omrežju samo z IPv6
- Vsak naveden URL odprt isti dan: zasebnost, pogoji, podpora
- Nobenega začasnega besedila, praznega zaslona ali vidnih testnih podatkov
- Demo račun preizkušen na dan oddaje, brez datuma poteka, strežnik prižgan
- Vsak nakup v aplikaciji najden v aplikaciji in preizkušen v sandboxu, vključno z obnovitvijo
- Opombe za pregled navajajo, kje so nakupi in neočitne funkcije
Če je to tvoja prva objava, so vsi predhodni koraki v objava aplikacije v App Store.
Pošlji svojo oddajo s pomočjo nekoga, ki je te zavrnitve že dobil
Apple Review Kit združuje moj kontrolni seznam pred oddajo, predloge opomb za testerja in skille za Claude Code, ki pregledajo tvoj projekt, preden ga oddaš.
Si pravkar prejel zavrnitev 2.1? Kit ti pomaga tudi najti navedeno pravilo, kaj zahteva, ter primer popravka in odgovora. Če želiš, da tvojo oddajo pregledava skupaj že zdaj, rezerviraj uro z mano, prek videoklica.
Nihče ne more zagotoviti, da bo Apple sprejel tvojo aplikacijo. Lahko pa ti pomagam izogniti se zavrnitvam 2.1, ki sem jih sam že plačal s krogom pregleda.
Aplikacije še nisi oddal? Brezplačna diagnostika ti pošlje moj kontrolni seznam proti Applovim zavrnitvam, vključno s pravilom 2.1, in ti pove, kaj moraš še narediti pred oddajo. Če jo še gradiš, domača stran pokaže, kako ustvariti mobilno aplikacijo s pregledom v mislih že od začetka.
Pogosta vprašanja
Kaj pomeni »Guideline 2.1 - Information Needed«?
Pregledovalec ni mogel dokončati pregleda in ti postavlja vprašanje: prijavni podatek, razlago, način dostopa do funkcije. Natančno odgovori v App Store Connect. Če vprašanje razkrije resnično blokado v aplikaciji, kot pri Solys, jo popravi in pošlji nov build.
Ali po zavrnitvi 2.1 potrebujem nov build?
Pri zrušitvi, napaki ali blokirajočem zaslonu da: popravek mora biti v binarni datoteki. Oddaljena posodobitev ne zadošča, ker pregledovalec ob prvem zagonu vidi vgrajeno kodo. Pri preprostem manjkajočem podatku lahko zadošča odgovor.
Moja aplikacija zahteva prijavo: kaj naj dam pregledovalcu?
Demo račun, ki ne poteče, vpisan v razdelek App Review Information, in strežnik, prižgan ves čas pregleda. Vgrajen demo način lahko ta račun nadomesti samo s predhodnim soglasjem Appla in mora prikazati vse funkcije.
Ali lahko zavrnitev 2.1 izvira iz česa drugega kot aplikacije?
Da. Dovolj je mrtev URL v opisu, potekel demo račun, ugasnjen strežnik ali napačno nastavljen nakup v aplikaciji. Včasih je, kot pri Clic, pravi vzrok na spletu in ne v kodi: preveri vse, kar lahko pregledovalec odpre.