Daniel Saidi @danielsaidi
Visa hur man utvecklar appar för iOS
Visa vilka program och tjänster man använder
Visa hur man distribuerar appar till testare och AppStore.
iOS
Objective-C
XCode
Apple Developer Portal
iTunes Connect
TestFlight
...och sedan kommer vi att göra en app
35 år gammal, gift, tvåbarnsfar
Civilingenjör i Medieteknik, Linköpings Universitet
Webb sedan 1996
Mobila system sedan 2005
Systemutvecklare, tidigare konsult, nu anställd på eBay
Byggde en webbapp för iOS under ett Creative Hack
Geo-baserad bookmarking
Endast webbapplikation - ingen app
Lärde mig iOS (3.1) och portade appen till iOS
Fortfarande fokus på OSS och webbaserade-system
...men iOS var ju roligt
Föräldraledighet i mars = hårdplugg
iTunesU, böcker, bloggar etc.
Flera projekt med vänner och bekanta
eBay / Tradera
Appamini HB
...och inga nya sidoprojekt
Inga miljoner
Inga genombrott *
iOS är fortfarande roligt
(...och jag får åka på WWDC om två veckor!!!)
* Min största succé gjorde jag dock nyligen på tio minuter
Genomgång av flera centrala begrepp
Vi går först igenom dem översiktligt
Därefter praktisk användning under demot
Apples operativsystem för mobila enheter
Introducerades av 2007 för iPhone
Körs idag på iPhone, iPad, iPod, Apple TV etc.
Relativt täta uppdateringar, drygt 1 major per år
iOS 7 var den största uppdateringen
iOS 8 kommer snart
Programmeringsspråk
Objektorienterat, meddelandebaserat lager över C
Utvecklat på tidigt 80-tal
Har färdats via NeXT (NeXTSTEP) till iOS och OS X
Syntaxen får utvecklare världen över att gråta
Ni kommer att få se lite kod när vi bygger appen
Apples IDE för utveckling till OS X och iOS
Gratis(!)
I princip ett krav utveckling till OS X och iOS *
Ger tillgång ett stort utbud av verktyg:
git, UI-verktyg, simulator, kodanalys, tester etc.
Används även för distribution till AppStore
* Alternativ finns, t.ex. AppCode
Används bl.a. för att hantera:
Certifikat - både för utveckling och distribution
Appar - och vilka tjänster de ska ha tillgång till
Enheter - vilka du får utveckla på och testa med
Provisioning - kopplar ihop certifikat, app och enhet
Används bl.a. för att hantera:
Appar - de du lagt upp på AppStore
Sales and Trends - hur försäljningen går
Contracts, Tax and Banking - dina avtal med Apple
Payment and Financial Reports - utbetalningsrapporter
Distribution av appar till testare
Statistik över hur appen används
Tillhandahåller även kraschrapporter
Stöd för iOS och (nyligen) Android...
...sedan köpte Apple upp TestFlight och tog bort stödet
Skapa ett enkelt projekt
Bygga en fantastisk app
Köra appen på simulator
Köra appen på fysisk enhet
Distribuera appen till testare
Distribuera appen till AppStore...nästan
Utveckling mot simulator är gratis
Utveckling mot fysisk enhet kostar
808 kr/år - mycket jämfört med Google och MS
Man måste registrera utvecklarenheter, max 100 per år
Man måste skapa ett utvecklingscertifikat
Testaren måste registrera sig och sina enheter
Man måste därefter bjuda in testaren till sitt team
När testaren går med, kan man se dess enheter
Man måste registrera alla externa testenheter
Man måste skapa ett distributionscertifikat
Man måste skapa en AdHoc-provisionsprofil
Profilen identifierar en app, ett certifikat och enheter
För att distribuera sin app, arkiverar man projektet
För att kunna arkivera, måste man ha en fysisk enhet
Arkivet måste signeras med en AdHoc-provisionsprofil
Arkivet sparas därefter som en IPA-fil på disk
IPA-filen måste slutligen laddas upp till TestFlight
Wildcard (*) kan användas av flera enklare appar
Vissa funktioner (t.ex. push) kräver unikt app ID
Man kan använda samma distributionscertifikat
Man måste skapa en AppStore-provisionsprofil
Profilen identifierar endast en app och ett certifikat
För att distribuera sin app, måste man skapa en app i iTC
Man måste ange Bundle ID och SKU (Stock Keeping Unit)
Man måste ladda upp en ikon och information om appen
Man måste klassificera appen, för att fastställa åldersgräns
Man måste markera appen som "redo för binär"
För att distribuera sin app, arkiverar man projektet
För att kunna arkivera, måste man ha en fysisk enhet
Arkivet måste signeras med en AppStore-provisionsprofil
Arkivet sparas inte på disk, utan skickas direkt till AppStore
När filen har laddats upp och godkänts, är allting klart...
Tar mer än en vecka för nya appar
Tar ca en vecka för uppdateringar
Min senaste uppdatering tog fem timmar
Godkännande är ett högst personligt beslut
Men oftast...