Publicera appen – Apples krångel har blivit enklare

En av de delar i appskapandet som under åren sedan Apple öppnade App Store har orsakat mest huvudbry hos utvecklare värden över är själva processen att få den publicerad på App Store. Certifikat, ”app id”, ”provisioning profile” – det är mycket att hålla koll på och åtminstone tidigare var det lätt att något blev fel. Det räckte med att uppdatera systemet för att Xcode skulle slå bakut, och ve den som bytte till en ny Mac och försökte kompilera och testa sin app på en Iphone.

De senaste åren har Apple gjort ansträngningar för att underlätta på den här fronten. Xcode har fått funktioner för att automatiskt rätta till många av de fel som lätt uppstår och som tidigare kunde ta timmar att lösa. Här är en kort genomgång av de olika sakerna som krävs för att kunna testa och distribuera en app på App Store eller andra sätt.

Xcode
Idag kan Xcode automatiskt hantera appsignering. En stor lättnad för alla utvecklare.

Med undantag för listan med godkända enheter kan du idag låta Xcode sköta hela signeringsprocessen, vilket innebär att Xcode skapar nya certifikat, app-id:n och profiler automatiskt. Men det är ändå bra att känna till vad de olika sakerna är till för.

Apple Developer Program

För det första måste du vara medlem i Apple Developer Program, vilket kostar en tusenlapp om året. Det gör du genom att skaffa ett Apple-id (gärna ett separat för utveckling, men du kan även använda ditt vanliga Icloud-konto) och gå hit.

Efter att du betalat får du ett konto och måste skriva under flera kontrakt. Om du har företag och vill ansluta som det blir det lite krångligare med D-U-N-S-nummer och lite mer dokumentation.

Certificates

Från Overview på ditt konto kan du klicka in på Certificates, Identifiers & Profiles. Det är härifrån du hanterar de här komponenterna och lägger till nya. Den första avdelningen är certifikat. Det finns en mängd olika certifikat för olika funktioner, men de två viktigaste är ”iOS App Development” (för att kunna testa medan du utvecklar) och ”App Store and Ad Hoc” (för distribuering av själva appen). De andra certifikaten gäller till exempel pushnotiser och Apple Pay. Apple har instruktioner för hur du skapar nya certifikat, om du känner för att prova själv.

App ID:n

Identifiers (App ID)
App-id:n används för att hålla reda på olika appar, till exempel när din app kommunicerar med Apples servrar och med Itunes. Apples rekommenderade format är ett så kallat bakvänt domännamn: com.apple.Finder eller com.facebook.Messenger, till exempel. Om vi på MacWorld gjorde en app för vårt forum kanske den skulle ha id:t com.MacWorld.forum.

Devices

Den tredje kategorin under Certificates, Identifiers & Profiles är Devices. Det är en lista över IOS-enheter som är godkända för att testa appar som signeras med ditt utvecklingscertifikat. Vad du gör är att kopiera enhetens udid från Itunes: anslut enheten och klicka på serienumret så dyker det upp, tryck sedan cmd-c för att kopiera (nej det är inte det minsta intuitivt). Detta nummer klistrar du sedan in när du registrerar en ny enhet.

Provisioning Profiles

De här är små filer som används för att koppla ett certifikat till en app med ett visst app-id, för att signeringen ska fungera. Det finns tre sorters: utveckling, App Store och ”ad hoc”. Den första gäller när du testar direkt från Xcode, den sista distribuering till de enheter du registrerade under Devices. App Store betyder så klart för att ladda upp till butiken.

En detaljerad genomgång som visar hur du sköter dessa manuellt betydligt tydligare än Apple hittar du här.

Många krav för App Store

När du väl är klar med din app och vill testa att sälja eller dela den på App Store ska den paketeras och laddas upp – och testas så att den följer alla Apples regler. Men först måste du logga in på Itunes Connect och lägga till din app. Det är här du väljer ett namn, lägger till en ikon för butiken, skärmdumpar och beskrivning, väljer pris och allt annat som rör App Store.

För appar utvecklade med en av Cordova-plattformarna ovan, till exempel Phonegap Build, måste du skapa certifikat och profil för App Store manuellt (se ovan) och ladda upp dessa till tjänsten i fråga. Den .ipa-fil du sedan laddar ner ska du ladda upp med programmet Application Loader och inte med Xcode. Det kan du göra först när din app-beskrivning är helt färdig och Itunes Connect visar ”Ready to Upload Binary”.

Google Developer Console


Lättare med Google?

För att distribuera Android-appar på Google Play Store behöver du två saker. För det första ett Google-konto kopplat till utvecklarportalen som du har skrivet under avtalet Developer Distribution Agreement för. Det kostar 25 dollar att registrera sig men därefter finns ingen årsavgift eller andra kostnader.

För det andra behöver du, om du ska sälja appen eller ta emot betalningar för köp-i-appen och annat, ha ett Google Payments Merchant-konto. Google frågar efter uppgifter om ditt företag, men det räcker att använda dina privata uppgifter (”företagsnamn” kommer visas i butiken). Här finns en introduktion från Google.

När du har dina konton hanterar du dina Play Store-appar via Googles utvecklarkonsol.

Google Key Store

Dina appar paketeras sedan som apk-filer som du laddar upp till Google, men precis som för App Store måste de signeras med ett utvecklarcertifikat. Och här är det faktiskt lite krångligare än med Xcode eftersom Google ännu inte helt har automatiserat skapandet av nycklar och certifikat. Du måste själv skapa en så kallad Key Store där privata och publika nycklar lagras. Android Studio kan dock hantera själva signering nästan helt automatiskt.

Google har en detaljerad genomgång av hur du sköter signering här.