Guideline 2.1: App Store -hylkäyksen syy ja korjaus
Kirjoittaja: Mehdi Azizi
Päivitetty , 9 min
Guideline 2.1 App Completeness: mitä sääntö kattaa, miten Apple testaa sovelluksesi, mitä vastata reviewerille ja 3 oikeaa hylkäystä omista sovelluksistani.
Guideline 2.1 on sääntö, joka kaataa eniten lähetyksiä. Apple kertoo sen itse App Review -sivullaan: keskimäärin yli 40 % ratkaisemattomista ongelmista koskee 2.1:tä, eli sääntöä, joka kattaa kaatumiset, väliaikaisen sisällön ja puutteelliset tiedot.
Tämä artikkeli käsittelee vain tätä yhtä sääntöä: mitä se kattaa, sen kaksi muunnelmaa, miten reviewer testaa sovelluksesi ja mitä hänelle vastataan. Mukana on kolme hylkäystä, jotka sain omista sovelluksistani. Jos haluat yleiskuvan kaikista hylkäyssyistä, lue mieluummin miksi Apple hylkää sovelluksen.
Mikä on guideline 2.1 App Completeness?
Guideline 2.1 vaatii, että Applelle lähetetty sovellus on lopullinen ja valmis versio: ei kaatumisia, ei kuolleita linkkejä, ei väliaikaista tekstiä, demotili jos sovellus vaatii kirjautumisen, ja sovelluksen sisäiset ostot näkyvissä ja toimivina. Jos reviewer ei pääse käymään sovellustasi läpi loppuun asti, tulee 2.1-hylkäys.
Virallinen teksti löytyy App Review Guidelinesista, osiosta 2 "Performance". Se jakautuu kahteen kohtaan.
2.1(a) vaatii, että jokainen lähetys on lopullinen versio, jossa on kaikki metatiedot ja toimivat URL-osoitteet. Väliaikainen teksti, tyhjät sivustot ja kaikki tilapäinen sisältö on poistettava ennen lähetystä. Sovellus on pitänyt testata oikealla laitteella bugien ja vakauden osalta. Jos se vaatii kirjautumisen, annat demotilin ja pidät palvelimesi päällä. Sovellukseen rakennettu demotila voi korvata tilin, mutta vain Applen etukäteen antamalla luvalla, ja sen täytyy näyttää kaikki sovelluksen toiminnot. Lause, joka tiivistää kaiken: "We will reject incomplete app bundles and binaries that crash".
2.1(b) koskee sovelluksen sisäisiä ostoja: niiden on oltava valmiita, ajan tasalla, reviewerin nähtävissä ja toimivia. Jos App Store Connectissa määritettyä ostoa ei löydy sovelluksesta, sinun täytyy selittää syy arviointimuistiinpanoissa.
Mitä guideline 2.1 käytännössä kattaa
Käytännössä 2.1-hylkäys tulee jostain näistä syistä:
- Kaatuminen. Käynnistyksessä, evätyn luvan jälkeen, ilman verkkoa. Yksikin riittää.
- Kuollut linkki. Tietosuoja, käyttöehdot, tuki: jokainen ilmoitettu URL avataan.
- Toiminto, johon ei pääse. Painike, joka ei vie minnekään, pakollinen näkymä, josta ei pääse eteenpäin, onboarding ilman ulospääsyä. Petollisin muoto: se ei näy omalla puhelimellasi.
- Puuttuva tai vanhentunut demotili. Reviewer jää jumiin kirjautumisnäkymään, annettu tili ei enää toimi tai palvelin on sammutettu.
- Täytesisältö. Lorem ipsum, "Tulossa pian", tyhjä näkymä, näkyvää testidataa.
- Sisäiset ostot, joita ei löydy. Tilaus on olemassa App Store Connectissa, mutta reviewer ei löydä näkymää, joka myy sitä, tai osto epäonnistuu sandboxissa. Yleisimmät maksunäkymän virheet löydät artikkelista iOS-paywall: 7 aloittelijan virhettä.
2.1 Information Needed vai 2.1(a): mikä ero?
Applen viesteillä ei ole aina sama otsikko, ja ero muuttaa vastaustasi.
"Guideline 2.1 - Information Needed" tarkoittaa, ettei reviewer päässyt arvioinnissaan loppuun ja kysyy sinulta jotain. Puuttuu tunnus, selitys tai keino päästä johonkin toimintoon. Tämä ei ole vielä bugihavainto: se on pyyntö. Joskus tarkka vastaus App Store Connectissa riittää. Mutta jos kysymys paljastaa sovelluksessa todellisen esteen, tarvitset uuden buildin.
"Guideline 2.1(a) - Performance - App Completeness" tarkoittaa, että reviewer on havainnut ongelman: kaatumisen, bugin, näkymän joka ei vastaa. Viestissä kerrotaan yleensä käytetty laite ja usein mukana on kuvakaappaus. Silloin pitää korjata, lähettää uusi build ja sitten vastata.
Miten Apple testaa sovelluksesi
Asetu reviewerin asemaan. Kolme asiaa ratkaisee.
Hän testaa laitteella, jota sinulla ei ehkä ole. Hylkäysviesti kertoo usein mallin. Sääntö 2.4.1 sanoo, että iPhone-sovellusten pitää toimia iPadilla aina kun mahdollista, ja iPhonelle tehty sovellus näkyy siellä yhteensopivuustilassa, iPhonen kokoisessa ikkunassa. Viimeisimmät 2.1-hylkäykseni tulivat iPad Airilta: jos testaat vain iPhonellasi, et näe sitä mitä reviewer näkee.
Hän aloittaa ensimmäisestä käynnistyksestä. Uusi sovellus, ei välimuistia, ei istuntoa, ei ladattua päivitystä.
Verkon täytyy toimia pelkällä IPv6:lla. Sääntö 2.5.5, taustatiloja koskevan guideline 2.5.4:n naapuri, vaatii sovelluksen toimivan täysin pelkässä IPv6-verkossa, ja Applen IPv6-tukisivu tekee siitä vaatimuksen kaikille 1.6.2016 jälkeen lähetetyille sovelluksille. Riski tulee kovakoodatusta IPv4-osoitteesta: Apple neuvoo testaamaan pelkässä IPv6-verkossa mobiilidata pois päältä.
Näiden olosuhteiden toistamiseen ennen lähetystä TestFlight useilla laitteilla on yksinkertaisin keino: katso TestFlight: iPhone-sovelluksen testaus.
Kolme hylkäystä, jotka sain, ja niiden todellinen syy
Kolme tuoretta hylkäystä omista sovelluksistani, todellisine syineen.
Solys: minipelidemo, jota ei voinut voittaa iPadilla
Solys on minipeleillä toimiva herätyskelloni. 18.8.2026 build hylätään syyllä "2.1 Information Needed": Apple pyytää keinoa ohittaa pelitehtävä. Reviewer testasi iPad Airilla, iPhone-sovellus yhteensopivuustilassa.
Todellinen syy oli onboardingin minipelidemossa. Esteiden korkeudet oli kirjoitettu kiinteinä pisteinä. iPadin yhteensopivuustilassa käytettävissä olevalla kortin korkeudella väylä muuttui hahmoa kapeammaksi: demoa oli mahdoton voittaa. Ja "Jatka"-painike aktivoitui vain voiton jälkeen. Ei ulospääsyä: reviewer ei päässyt näkemään sovellusta.
Korjaus: geometria suhteessa kortin mitattuun kokoon ja "Ohita demo" -linkki, joka ilmestyy häviön jälkeen.
Opetus: jokaisella suoritukseen sidotulla vaiheella täytyy olla ehdoton ulospääsy. Ja jokainen pakollinen näkymä testataan pienimmällä tuetulla näytöllä JA iPadilla yhteensopivuustilassa.
Nolera: korjaus, jota reviewer ei nähnyt
17.9.2026 Nolera hylätään iPad Airilla tehdyn arvioinnin jälkeen. Viestissä yhdistyivät 2.1(a) ja muita kohtia. Ilmoitetun ongelman korjaus oli toimitettu etäpäivityksenä (OTA), ilman uutta buildia.
Ongelma: aivan ensimmäisellä käynnistyksellä reviewer näkee buildiin sisältyvän koodin, ei myöhemmin ladattua päivitystä. Hänelle korjausta ei ollut olemassa.
Opetus: arviointia varten tehdyn korjauksen täytyy olla Applelle lähetetyssä binäärissä.
Clic: syy ei ollut sovelluksessa
16.9.2026 Clic hylätään. Itse sovellus oli ajan tasalla. Todellinen syy oli muualla: verkossa julkaistu tietosuojaseloste ei ollut ajan tasalla käytetyn tekoälypalveluntarjoajan osalta. Tämä hylkäys kuuluu pikemmin tietosuojaan kuin 2.1:een, mutta se havainnollistaa saman asian: todelliset syyt eivät aina ole niitä, joita viesti antaa ymmärtää.
Opetus: tarkista se, mikä on verkossa, älä sitä mikä on repossasi. Avaa jokainen ilmoitettu URL lähetyspäivänä.
Mitä vastata Resolution Centerissä
Hylkäyksen jälkeen lähetyksesi siirtyy tilaan "Unresolved Issues", ja keskustelu Applen kanssa käydään sovelluksesi App Review -osiossa, jota kutsutaan yhä Resolution Centeriksi. Virallinen ohje App Reviewlle vastaamiseen sallii enintään 4 000 merkin viestin ja yhden liitteen.
Kirjoita englanniksi ja asiallisesti. Reviewer haluaa kolme tietoa: mikä esti, mikä muuttui ja miten sen voi tarkistaa. Tässä käyttämäni pohja (vaihda build-numero ja korjaus omiisi):
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,
Muutama sääntö:
- Vastaa esitettyyn kysymykseen. "Information Needed" -tapauksessa aloita täsmällisellä vastauksella, älä taustoituksella.
- Nimeä build ja anna polku korjattuun näkymään kolmella tai neljällä toiminnolla.
- Liitä todiste. Lyhyt video laitteella, joka on lähellä reviewerin laitetta, säästää uuden kierroksen.
- Ei puolustuspuheita. Valitus App Review Boardille on mahdollinen, mutta aiheellisessa 2.1-hylkäyksessä se vain pidentää odotusta. Aikataulut löydät artikkelista App Store -tarkastuksen kesto.
Jos syy jää lukemisen jälkeen epäselväksi, koko prosessi on sivulla Applen hylkäämä sovellus.
Arviointimuistiinpanot ja demotili
Version App Review Information -osio App Store Connectissa on paras puolustuksesi 2.1:tä vastaan. Näiden kenttien virallisen dokumentaation mukaan se sisältää:
- Sign-in required: demotilin käyttäjätunnus ja salasana. Tili ei saa vanhentua. Jos sovelluksesi käyttää kolmannen osapuolen kirjautumista, anna kyseisen palvelun tunnukset.
- Notes: enintään 4 000 tavua, haluamallasi kielellä. Kaikki, mikä auttaa testaamisessa.
- Contact: nimi, sähköposti ja puhelinnumero kansainvälisessä muodossa.
Mitä laitan muistiinpanoihin aina:
- Polku jokaiseen sisäiseen ostoon, kuten sääntö 2.1(b) vaatii.
- Epäilmeiset toiminnot: ele, lupa, kellonaikaan sidottu sisältö.
- Demotilin tila: tilaaja vai ei, valmiiksi täytetty data vai tyhjä.
- Tunnetut rajoitukset: vaikeasti toistettavan laitteiston tai ympäristön kohdalla Apple pyytää olemaan valmis toimittamaan videon.
Ja yksi lomakkeen ulkopuolinen sääntö: pidä palvelimesi päällä koko arvioinnin ajan. Sammutettu testipalvelin tarkoittaa demotiliä, joka ei toimi, eli 2.1-hylkäystä.
2.1-tarkistuslista ennen lähetystä
Tämän käyn läpi ennen jokaista lähetystä, ja se on rakennettu omien hylkäysteni pohjalta:
- Sovellus asennettu tyhjästä pienimmälle tuetulle iPhonelle, suurimmalle ja iPadille yhteensopivuustilassa
- Onboarding käyty kokonaan läpi, epäonnistuen tahallaan jokaisessa suoritusta vaativassa vaiheessa
- Jokaisessa pakollisessa näkymässä ehdoton ulospääsy
- Yhtään arviointia varten tehtyä korjausta ei toimitettu pelkkänä etäpäivityksenä
- Sovellus käynnistetty lentotilassa ja sitten pelkässä IPv6-verkossa
- Jokainen ilmoitettu URL avattu samana päivänä: tietosuoja, käyttöehdot, tuki
- Ei väliaikaista tekstiä, tyhjää näkymää tai näkyvää testidataa
- Demotili testattu lähetyspäivänä, ei vanhenemispäivää, palvelin päällä
- Jokainen sisäinen osto löydetty sovelluksesta ja testattu sandboxissa, palautus mukaan lukien
- Arviointimuistiinpanoissa kerrottu, missä ostot ja epäilmeiset toiminnot ovat
Jos tämä on ensimmäinen julkaisusi, kaikki aiemmat vaiheet löytyvät sivulta sovelluksen julkaisu App Storessa.
Lähetä hakemuksesi jonkun kanssa, joka on jo saanut nämä hylkäykset
Apple Review Kit sisältää lähetystä edeltävän tarkistuslistani, muistiinpanopohjat testaajalle ja Claude Code -skillejä, jotka käyvät projektisi läpi ennen kuin lähetät sen.
Saitko juuri 2.1-hylkäyksen? Kitti auttaa myös löytämään mainitun säännön, sen mitä se vaatii, sekä esimerkin korjauksesta ja vastauksesta. Jos haluat, että katsomme hakemustasi yhdessä heti, varaa tunti kanssani videopuheluna.
Kukaan ei voi taata, että Apple hyväksyy sovelluksesi. Sen voin tehdä, että autan sinua välttämään ne 2.1-hylkäykset, joista olen jo maksanut yhdellä arviointikierroksella.
Etkö ole vielä lähettänyt sovellustasi? Ilmainen diagnoosi lähettää sinulle tarkistuslistani Applen hylkäysten välttämiseen, sääntö 2.1 mukaan lukien, ja kertoo, mitä on vielä tehtävä ennen lähetystä. Jos olet vasta rakentamassa sitä, etusivu näyttää, miten mobiilisovellus tehdään arviointi mielessä alusta asti.
Usein kysytyt kysymykset
Mitä "Guideline 2.1 - Information Needed" tarkoittaa?
Reviewer ei päässyt arviointiaan loppuun ja kysyy sinulta jotain: tunnusta, selitystä tai keinoa päästä johonkin toimintoon. Vastaa tarkasti App Store Connectissa. Jos kysymys paljastaa sovelluksessa todellisen esteen, kuten Solysissa, korjaa se ja lähetä uusi build.
Tarvitaanko 2.1-hylkäyksen jälkeen uusi build?
Kaatumisen, bugin tai estävän näkymän kohdalla kyllä: korjauksen täytyy olla binäärissä. Etäpäivitys ei riitä, koska reviewer näkee ensimmäisellä käynnistyksellä buildiin sisältyvän koodin. Pelkän puuttuvan tiedon kohdalla vastaus voi riittää.
Sovellukseni vaatii kirjautumisen: mitä annan reviewerille?
Demotilin, joka ei vanhene, App Review Information -osioon täytettynä, ja palvelimen, joka on päällä koko arvioinnin ajan. Sovellukseen rakennettu demotila voi korvata tilin vain Applen etukäteen antamalla luvalla, ja sen täytyy näyttää kaikki toiminnot.
Voiko 2.1-hylkäys johtua jostain muusta kuin sovelluksesta?
Kyllä. Kuollut URL sovellussivulla, vanhentunut demotili, sammutettu palvelin tai väärin määritetty sisäinen osto riittää. Ja joskus, kuten Clicissä, todellinen syy on verkossa eikä koodissa: tarkista kaikki, mitä reviewer voi avata.