Skip to content

Ökad säkerhet i iOS 9 kan göra det svårare för URL-schema

Apple lägger stor vikt på ökad säkerhet och integritet i iOS 9. Men det kan också innebära vissa begränsningar för oss som gillar att använda URL-schema

iOS 9

Inledning

Något som Apple var väldigt tydliga med under prestationen av iOS 9 var rätten till ett privatliv och integritet. Detta innefattade även vad användare har för appar installerat.

The apps that a user has installed are their business

Anledning till att detta nämndes är att flera appar scannar av vilka appar du har installerat via ett url-schema och använder den informationen för att rikta annonser till dig. En av apparna som gör detta är Twitter på iPhone och de beskriver själva på sin support sida varför och hur informationen används. Apple anser att detta är att underminera policyn for privatliv på iOS.

This is a basic human right. We all have a right to privacy.
Tim Cook

Hur?

För att kolla efter installerade appar använder de sig av canOpenUrlsom svarar TRUE eller FALSE på om en URL kan öppnas på enheten. Om svaret är TRUE vet man att appen är installerad. Det fanns tidigare ingen gräns på hur många förfrågningar som kunde göras. Men i iOS 9 så görs en stor förändring. För att en app ska kunna använda denna funktion så måste man i förväg specificera URL-scheman i en info.plist inuti appen. När förfrågan görs kollar den först om schemat finns i filen innan den svarar. Om det inte finns med svarar den alltid FALSE oavsett om appen är installerad eller inte. En utvecklare kan lista upp till 50 olika url-scheman i info filen.

Vad innebär detta?

Framför allt kan det bli ett steg bakåt för appar som Launch Center Pro och Launcher, då de har en lista på appar som funderar med URL-schema. Launch Center Pro visar också vilka olika funktioner som är tillgängliga via URL-schema när appen är installerad. Men om de bara kan lista 50 appar så förlorar den lite av sin funktionalitet. Nytt är också att du som användare måste godkänna första gången en app öppnas via URL-schema på iOS. Detta är app-specifikt och innebär om du vill boka tvättid med stil måste du godkänna i Launch Center Pro, Drafts och Due för att få den att fungera. Så första gången schemat körs får du upp en ruta där du godkänner innan den fortsätter.

Godkänn schema

Universal links

Även om Apple inte förbjuder URL-schema så visar de tydligt att det inte är sättet att göra saker på. Apple vill istället att utvecklare ska använda sig av Universal Links som faller tillbaka till Safari om appen inte är installerad. Denna metod behöver inte kolla vilka appar som är installerade. Ett annat sätt att göra information synlig utanför appen är att använda sig av Handoff som utökar sitt API i iOS 9. Där väljer utvecklaren vilka delar av informationen i appen som ska vara tillgängliga för indexering. Förinställt är att ingen data är möjlig att indexera i en app. Det är också möjligt att sätta en bäst-före datum på informationen när den ska upphöra att indexeras. De har också ändrat så att man i iOS 9 inte kan se vilka andra appar som körs när man anropar kernel.

Sammanfattning

Det ska bli intressant att se hur automatisering på iOS förändras med iOS 9. Själv använder jag mig mindre av URL-schema efter att extensions introducerades. Då detta är en mer elegant och visuell lösning än många av de hack som hade snickrats ihop tidigare. Men det är fortfarande en stor del av min användning och det skulle försvåra rejält om Apple strypte alla möjligheter. Detta ser jag dock som högst osannolikt eftersom Apple själva använder sig av URL-schema för att skicka dig mellan sina egna appar. Vill du veta mer kan du kolla på Apples video Privacy and Your App från årets WWDC .

Be First to Comment

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *