Guideline 2.1: App Store-afwijzing begrijpen en oplossen
Door Mehdi Azizi
Bijgewerkt op , 9 min
Guideline 2.1 App Completeness: wat de regel dekt, hoe Apple je app test, wat je de reviewer antwoordt en 3 echte afwijzingen van mijn apps.
De guideline 2.1 is de regel waarop de meeste inzendingen stranden. Apple schrijft het zelf op zijn App Review-pagina: gemiddeld gaat meer dan 40 % van de onopgeloste problemen over 2.1, de regel voor crashes, tijdelijke content en onvolledige informatie.
Dit artikel gaat alleen over deze regel: wat hij omvat, zijn twee varianten, hoe de reviewer je app test en wat je hem antwoordt, met drie afwijzingen die ik zelf op mijn apps kreeg. Wil je het overzicht van alle afwijzingsredenen, lees dan waarom Apple een app afwijst.
Wat is guideline 2.1 App Completeness?
Guideline 2.1 eist dat de app die je naar Apple stuurt een definitieve, complete versie is: geen crashes, geen dode links, geen tijdelijke tekst, een demo-account als de app een login vraagt, en in-app-aankopen die zichtbaar zijn en werken. Kan de reviewer je app niet helemaal doorlopen, dan krijg je een afwijzing op 2.1.
De officiële tekst staat in de App Review Guidelines, sectie 2 “Performance”. Hij bestaat uit twee onderdelen.
2.1(a) vraagt dat elke inzending een definitieve versie is, met alle metadata en werkende URL's. Tijdelijke tekst, lege websites en andere tijdelijke content moeten weg zijn vóór het insturen. De app moet op een echt toestel getest zijn op bugs en stabiliteit. Vraagt hij een login, dan lever je een demo-account aan en laat je je server aanstaan. Een ingebouwde demomodus kan dat account vervangen, maar alleen met voorafgaande toestemming van Apple, en hij moet alle functies van de app laten zien. De zin die alles samenvat: “We will reject incomplete app bundles and binaries that crash”.
2.1(b) gaat over in-app-aankopen: die moeten compleet, actueel, zichtbaar voor de reviewer en werkend zijn. Is een aankoop die in App Store Connect is ingesteld niet te vinden in de app, dan moet je in de review-notities uitleggen waarom.
Wat guideline 2.1 in de praktijk omvat
In de praktijk krijg je een 2.1-afwijzing om een van deze redenen:
- Een crash. Bij het opstarten, na een geweigerde toestemming, zonder netwerk. Eén is genoeg.
- Een dode link. Privacy, gebruiksvoorwaarden, support: elke opgegeven URL wordt geopend.
- Een onbereikbare functie. Een knop die nergens heen gaat, een verplicht scherm waar je niet voorbij komt, een onboarding zonder uitgang. De verraderlijkste vorm: onzichtbaar op je eigen telefoon.
- Een ontbrekend of verlopen demo-account. De reviewer blijft hangen op het loginscherm, of het opgegeven account werkt niet meer, of de server staat uit.
- Opvulcontent. Lorem ipsum, “Binnenkort beschikbaar”, een leeg scherm, zichtbare testdata.
- Onvindbare in-app-aankopen. Het abonnement bestaat in App Store Connect, maar de reviewer vindt het scherm niet dat het verkoopt, of de aankoop mislukt in de sandbox. De meest voorkomende fouten op betaalschermen staan in iOS-paywall: 7 beginnersfouten.
2.1 Information Needed of 2.1(a): wat is het verschil?
De berichten van Apple hebben niet allemaal dezelfde titel, en dat verschil bepaalt je antwoord.
“Guideline 2.1 - Information Needed” betekent dat de reviewer zijn review niet kon afronden en je een vraag stelt. Er ontbreekt een inlog, een uitleg, een manier om een functie te bereiken. Dat is nog geen vastgestelde bug: het is een verzoek. Soms is een precies antwoord in App Store Connect genoeg. Maar als de vraag een echte blokkade in de app blootlegt, heb je een nieuwe build nodig.
“Guideline 2.1(a) - Performance - App Completeness” betekent dat de reviewer een probleem heeft vastgesteld: een crash, een bug, een scherm dat niet reageert. Het bericht noemt meestal het gebruikte toestel en bevat vaak een screenshot. Dan moet je het oplossen, een nieuwe build insturen en daarna antwoorden.
Hoe Apple je app test
Verplaats je in de reviewer. Drie dingen tellen.
Hij test op een toestel dat jij misschien niet hebt. Het afwijzingsbericht noemt vaak het model. Regel 2.4.1 zegt dat iPhone-apps waar mogelijk ook op iPad moeten draaien, en een app die voor iPhone is ontworpen wordt daar in compatibiliteitsmodus getoond, in een venster op iPhone-formaat. Mijn recente 2.1-afwijzingen kwamen van een iPad Air: test je alleen op je iPhone, dan zie je niet wat de reviewer ziet.
Hij begint bij een eerste start. Nieuwe app, geen cache, geen sessie, geen gedownloade update.
Het netwerk moet werken op alleen IPv6. Regel 2.5.5, naast guideline 2.5.4 over achtergrondmodi, eist dat de app volledig werkt op een IPv6-only netwerk, en de supportpagina van Apple over IPv6 maakt dat een vereiste voor alle apps die sinds 1 juni 2016 worden ingestuurd. Het risico zit in een hardgecodeerd IPv4-adres: Apple raadt aan te testen op een IPv6-only netwerk, met mobiele data uit.
Om die omstandigheden vóór het insturen na te bootsen, is TestFlight op meerdere toestellen het simpelst: zie TestFlight: je iPhone-app testen.
Drie afwijzingen die ik kreeg, en hun echte oorzaak
Drie recente afwijzingen op mijn eigen apps, met hun echte oorzaak.
Solys: een minigame-demo die op iPad niet te winnen was
Solys is mijn wekker met minigames. Op 18 augustus 2026 wordt een build afgewezen met “2.1 Information Needed”: Apple vraagt hoe je de game-missie voorbij komt. De reviewer testte op een iPad Air, met de iPhone-app in compatibiliteitsmodus.
De echte oorzaak zat in de minigame-demo van de onboarding. De hoogtes van de obstakels stonden in vaste punten. Op de kaarthoogte die op de iPad in compatibiliteitsmodus beschikbaar was, werd de doorgang smaller dan het personage: de demo was niet te winnen. En de knop “Doorgaan” ging alleen aan bij winst. Geen uitweg: de reviewer kon de app niet zien.
De fix: een geometrie die meeschaalt met de gemeten grootte van de kaart, en een link “Demo overslaan” die verschijnt na een verloren poging.
De les: elke stap die afhangt van een prestatie moet een onvoorwaardelijke uitgang hebben. En elk verplicht scherm test je op het kleinste ondersteunde scherm ÉN op iPad in compatibiliteitsmodus.
Nolera: een fix die de reviewer niet zag
Op 17 september 2026 wordt Nolera afgewezen na een review op een iPad Air. Het bericht combineerde 2.1(a) met andere punten. De fix voor het gemelde probleem was uitgerold via een update op afstand (OTA), zonder nieuwe build.
Het probleem: bij de allereerste start ziet de reviewer de code die in de build zit, niet de update die daarna wordt gedownload. Voor hem bestond de fix niet.
De les: een fix voor de review moet in het binary zitten dat je naar Apple stuurt.
Clic: de oorzaak zat niet in de app
Op 16 september 2026 wordt Clic afgewezen. De app zelf was up-to-date. De echte oorzaak zat ergens anders: het online gepubliceerde privacybeleid was niet bijgewerkt over de gebruikte AI-provider. Deze afwijzing hoort eerder bij privacy dan bij 2.1, maar laat hetzelfde zien: de echte oorzaak is niet altijd wat het bericht doet vermoeden.
De les: controleer wat online staat, niet wat in je repository staat. Open elke opgegeven URL op de dag dat je instuurt.
Wat je antwoordt in het Resolution Center
Na een afwijzing krijgt je inzending de status “Unresolved Issues” en loopt het gesprek met Apple via de App Review-sectie van je app, die nog steeds het Resolution Center heet. Volgens de officiële procedure om App Review te antwoorden mag je bericht maximaal 4.000 tekens zijn, met één bijlage.
Schrijf in het Engels, zakelijk. De reviewer wil drie dingen weten: wat blokkeerde, wat er veranderd is en hoe hij het kan controleren. Dit is het sjabloon dat ik gebruik (vervang het buildnummer en de fix door die van jou):
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,
Een paar regels:
- Beantwoord de gestelde vraag. Bij een “Information Needed” begin je met het exacte antwoord, niet met de context.
- Noem de build en geef het pad naar het gefixte scherm, in drie of vier stappen.
- Voeg bewijs toe. Een korte video op een toestel dat lijkt op dat van de reviewer voorkomt nog een rondje heen en weer.
- Geen pleidooi. Beroep bij het App Review Board bestaat, maar bij een terechte 2.1-afwijzing maakt het het wachten alleen langer. De doorlooptijden staan in doorlooptijd App Store-review.
Is de reden na het lezen nog onduidelijk, dan staat de complete aanpak op de pagina app afgewezen door Apple.
Review-notities en demo-account
De sectie App Review Information van je versie in App Store Connect is je beste verdediging tegen 2.1. Volgens de officiële referentie van deze velden bevat ze:
- Sign-in required: de gebruikersnaam en het wachtwoord van een demo-account. Dit account mag niet verlopen. Gebruikt je app een login via een derde partij, geef dan de inloggegevens voor die dienst.
- Notes: tot 4.000 bytes, in de taal van je keuze. Alles wat helpt bij het testen.
- Contact: een naam, een e-mailadres en een nummer in internationaal formaat.
Wat ik altijd in de notities zet:
- Het pad naar elke in-app-aankoop, zoals regel 2.1(b) vraagt.
- De niet-voor-de-hand-liggende functies: een gebaar, een toestemming, content die aan een tijdstip gebonden is.
- De status van het demo-account: wel of geen abonnee, vooraf ingevulde of lege data.
- Bekende beperkingen: voor hardware of een omgeving die moeilijk na te bootsen is, vraagt Apple dat je klaarstaat met een video.
En een regel buiten het formulier: laat je server de hele review aanstaan. Een uitgeschakelde testserver betekent een demo-account dat niet meer werkt, dus een 2.1-afwijzing.
De 2.1-checklist voor het insturen
Deze pas ik toe vóór elke inzending, gebouwd op mijn afwijzingen:
- App vanaf nul geïnstalleerd op de kleinste ondersteunde iPhone, de grootste, en een iPad in compatibiliteitsmodus
- Onboarding helemaal doorlopen, waarbij je bewust faalt bij elke stap die een prestatie vraagt
- Elk verplicht scherm heeft een onvoorwaardelijke uitgang
- Geen enkele fix voor de review alleen via een update op afstand uitgerold
- App gestart in vliegtuigmodus, daarna op een IPv6-only netwerk
- Elke opgegeven URL dezelfde dag geopend: privacy, voorwaarden, support
- Geen tijdelijke tekst, leeg scherm of zichtbare testdata
- Demo-account getest op de dag van insturen, zonder vervaldatum, server aan
- Elke in-app-aankoop vanuit de app gevonden en getest in de sandbox, herstellen inbegrepen
- Review-notities die aangeven waar de aankopen en de niet-voor-de-hand-liggende functies zitten
Is dit je eerste publicatie, dan staan alle voorgaande stappen in een app publiceren in de App Store.
Je dossier insturen met iemand die deze afwijzingen al kreeg
De Apple Review Kit bundelt mijn checklist voor het insturen, sjablonen voor de notities aan de tester en Claude Code-skills die je project nalezen voordat je het instuurt.
Heb je net een 2.1-afwijzing gekregen? De kit helpt je ook de genoemde regel terug te vinden, te zien wat hij vraagt, met een voorbeeld van een fix en een antwoord. Wil je dat we nu meteen samen naar je dossier kijken, boek dan een uur met mij, via videocall.
Niemand kan garanderen dat Apple je app accepteert. Wat ik wel kan doen, is je helpen de 2.1-afwijzingen te vermijden die mij al een reviewronde hebben gekost.
Heb je je app nog niet ingestuurd? De gratis diagnose stuurt je mijn checklist tegen Apple-afwijzingen, regel 2.1 inbegrepen, en vertelt je wat er nog moet gebeuren voor het insturen. Ben je hem nog aan het bouwen, dan laat de homepage zien hoe je een mobiele app maakt met de review vanaf het begin in je achterhoofd.
Veelgestelde vragen
Wat betekent “Guideline 2.1 - Information Needed”?
De reviewer kon zijn review niet afronden en stelt je een vraag: een inlog, een uitleg, een manier om een functie te bereiken. Antwoord precies in App Store Connect. Legt de vraag een echte blokkade in de app bloot, zoals bij Solys, los die dan op en stuur een nieuwe build in.
Heb je een nieuwe build nodig na een 2.1-afwijzing?
Bij een crash, een bug of een blokkerend scherm wel: de fix moet in het binary zitten. Een update op afstand is niet genoeg, want de reviewer ziet bij de eerste start de code die in de build zit. Bij alleen ontbrekende informatie kan een antwoord volstaan.
Mijn app vraagt een login: wat geef ik de reviewer?
Een demo-account dat niet verloopt, ingevuld in de sectie App Review Information, en een server die de hele review aanstaat. Een ingebouwde demomodus kan dat account alleen vervangen met voorafgaande toestemming van Apple, en hij moet alle functies laten zien.
Kan een 2.1-afwijzing ook door iets anders dan de app komen?
Ja. Een dode URL in de listing, een verlopen demo-account, een uitgeschakelde server of een verkeerd ingestelde in-app-aankoop is genoeg. En soms, zoals bij Clic, zit de echte oorzaak online en niet in de code: controleer alles wat de reviewer kan openen.