Den anden dag afviste Apple en app, vi har arbejdet intenst på i de sidste tre måneder. Kunden og vi blev lige et øjeblik bekymrede. Heldigvis var grunden til at Apple afviste appen en detalje: vi havde ændret en smule på designet af iOS 6 standard delingsfunktionen. Vi ændrede hurtigt appen; ændringen gjorde ikke appen dårligere, og Apple var heldigvis hurtig til at godkende den – så vi nåede vores deadline.
Grunden til at Apple – og Google og Microsoft for den sags skyld – afviser apps er først og fremmest, at de ønsker, at apps ikke crasher eller kompromiterer brugernes data. Derudover ønsker de, at brugerne på netop deres platform får den bedste brugeroplevelse. Og så er der også en række hensyn til deres forretning, der også spiller ind.
Vi har fået afvist – men altid senere godkendt – en række apps. Så vi holder selvfølgelig øje med, hvad der kan være en årsag til at apps bliver afvist. I den danske debat er der mest fokuseret på, hvorfor Ekstrabladets og Peter Øvigs Hippie får afvist apps og e-bøger pga. amerikansk moral i forhold til nøgenbilleder. I praksis er det typisk helt andre grunde, der gør ,at Apple afviser apps.
Her er en liste over de mere typiske grunde til afvisninger:
Crashes
Hvis der opstår fejl, som får appen til at gå ned, vil den blive afvist. For eksempel blev der i iOS 6 ændret en hel del. Og hvis man så laver en lille rettelse i en app, der allerede er frigivet til iOS 5, men ikke tjekker den helt igennem på iOS 6, kan den gå ned, og så bliver den afvist.
Brug af andres logoer og trademarked materiale
Hvis en app bruger andre virksomheders logoer eller andet varemærkebeskyttet materiale uden, at ejerne af disse varemærker har givet lov til dette, så vil appen blive afvist.
Manglende kreditering af data
En af de første afvisninger vi oplevede, var en kort-app, der brugte Google Maps. Her havde vi lavet et fint halvgennemsigtigt panel der i visse situationer kom op og delvist dækkede bunden af kortet. Men det dækkede også delvist Googles logo. Afvist.
Forkert brug af ikoner
Hvis man bruger visse standardkomponenter – fx deling – så skal man bruge de ikoner, der findes i standardkomponenten. Hvis man fx ændrer udseendet af Facebook-knappen, så vil appen blive afvist.
Ugyldig brug af lagring
Med iOS 5.1 kunne apps bruge iCloud til backup. Ideen er, at brugeren kan bruge en iPad eller en iPhone uden en computer og stadig have en fornuftig backup-løsning. Derfor har Apple sat nogle begrænsninger op i forhold til, hvor store mængder data en app må opbevare i de dele af apps, der automatisk bliver backup’et.
Forkert brug af keyboards
I iOS kan der bruges forskellige keyboards i inputfelter (numerisk, URL-tastatur eller almindeligt tastatur). Hvis man bruger et almindeligt tastatur i et felt, hvor man kan kan indtaste tal, kan appen blive afvist.
App-ikoner der lægger sig meget tæt op ad andre (kendte) ikoner
En sikker måde at få afvist en app på er at snuppe app-ikonet fra Safari eller Mail, ændre et par pixels og så sende appen til godkendelse. Ligesom logoer så værner Apple om de enkelte apps identitet. Det gælder for andre store virksomheder som Facebook og Twitter – men det gælder bestemt også for Apples egne apps.
Overdreven brug af vibrator eller GPS
Både vibratoren og GPS’en kan bruge en del batteri. Hvis man fx laver et spil, hvor vibratoren konstant er aktiveret, så kan det blive afvist.
Beta, version 0.9 eller næsten færdig
Apple – i modsætning til Google – bryder sig ikke om beta-versioner eller software-produkter, der fremstilles som tests eller halvfærdige. Kalder man sin app for “Min Beta app v.0.9”, så er man helt sikker på, at den bliver afvist hos Apple.
Langsom starttid
iOS tillader ikke, at apps er over 15 sekunder om at starte. Så hvis man fx designer sin app sådan, at den viser et logo i 30 sekunder, eller henter en masse data, før den startes, så kan appen blive afvist.
Manglende håndtering af dårlige netværksforbindelse
Mange apps fungerer kun, hvis der er en netværksforbindelse til at hente data eller billeder eller andet. Hvis appen ikke på en pæn måde håndterer, at der ikke er nogen netværksforbindelse (eller en meget langsom én), vil appen blive afvist.
Rascistisk, pornografisk, nedsættende eller injurierende indhold
En af vores kollegaer i branchen fik afvist et spil, de havde arbejdet på længe, fordi der i beskrivelsen af spillet var begreber som i en dansk sammenhæng virkede helt uskyldige, men i en amerikansk kontekst var nedsættende. Apple vil afvise alle apps, der ikke lever op til hvad nogle betragter som politisk korrekt amerikanske standarder.
Kald til “private API’er”
Der er en masse funktioner, man som udvikler kan bruge, men som kun er til brug for Apples egen kode. Og selvom man godt kan bruge den slags “private API-kald”, så er det en sikker måde at få en app afvist på.
Som en kommentar til denne liste vil jeg nævne, at vi aldrig har måttet opgive at få en app godkendt. Alle apps vi har sendt til godkendelse er blevet godkendt. Apple er hurtig til at svare hvorfor de afviser og anviser altid en løsning. Som softwareudvikler kan vi godt savne “gamle dage”, hvor man smed et website på en server, og så var det publiceret. Men denne godkendelse er vilkårerne for at kunne komme ud på brugernes telefoner via de store App Stores. Og langt de fleste afvisninger er faktisk fornuftige og giver i sidste ende bedre apps til brugerne og en mere konsistent brugsoplevelse.
Ofte bliver vi spurgt, om Apple vil godkende en bestemt app eller en bestemt funktion i en app. Eller om vi kan garantere, at Apple vil godkende appen. Og svaret er, at det ikke er til at sige på forhånd. Og det hjælper heller ikke at spørge Apple, for svaret er altid “hvis appen overholder retningslinjerne for apps, så vil den blive godkendt”.
Så normalt er vores svar, “vi er ret sikre på, at den vil blive godkendt, men vi kan aldrig være 100% sikre”.