Syfte
Att på ett övergripande plan förstå hur man utvecklar appar för iOS,
hur man testar i simulator och på fysisk enhet samt hur man gör för
att distribuera till testare och till AppStore.
Hit 's' on keyboard to view comments, elapsed time, next slide etc.
Press b or period on your keyboard to enter the 'paused' mode. The
pause mode is helpful when you want to take distracting slides off
the screen during a presentation.
Jag är inget proffs, utan har endast arbetat med iOS på min fritid.
Det är dock en väldigt spännande värld där mycket händer.
I och med att vi under hösten kommer att ta mer kontroll över våra
appar, är det bra om vi får bättre koll på plattformen och vet vad
man kan göra.
Vi kommer att beröra
iOS
Objective-C
XCode
Apples utvecklarportal
iTunes Connect
Testflight
...och göra en app
Bra att i alla fall ha hört vissa centrala begrepp, så att man vet
vad de betyder.
Vi kommer inte att gå in på djupet av någon del. Vi kommer bara ta
varje del översiktligt, så fråga på om det blir för kort.
iOS
Mobilt operativsystem
Introducerades av Apple 2007 för iPhone
Används idag av iPhone, iPad, iPod, Apple TV etc.
Relativt täta uppdateringar...ca 1 major per år
Tradera-appen kör iOS 4.3...nu kommer iOS 7
Objective-C
Programmeringsspråk
Utvecklat på tidigt 80-tal
Har färdats via NeXT till iOS och OS X
Meddelandebaserat lager ovanpå C
Ni kommer att få se lite kod när vi bygger appen
XCode
Apples utvecklarverktyg (IDE)
Gratis(!)
Kan användas för att utveckla till OSX, iOS etc.
Har många andra verktyg utöver programmering
Man kan använda andra IDE:n för att utveckla till iOS/OS X, t.ex.
AppCode. XCode är dock gratis och har en massa andra bra verktyg
för UI-tester, prestandamätningar, minnesläckor etc.
Att XCode är gratis är uppseendeväckande, med tanke på att andra
IDE:n (AppCode, Visual Studio etc) kostar pengar...mycket pengar.
Vi kommer att kolla mer på XCode, när vi bygger vår app.
Utvecklarportalen
developer.apple.com
Används bl.a. för att hantera:
Certifikat
Appar
Enheter
Provisioning
iTunes Connect
itunesconnect.apple.com
Används bla. för att hantera:
Appar
Sales and Trends
Contracts, Tax and Banking
Payment and Financial Reports
TestFlight
testflightapp.com
Distribution av appar till utvecklare
Statistik över hur appen används
Kraschrapporter
Stöd för iOS och (nyligen) Android
Agenda
Skapa ett enkelt projekt
Bygga en fantastisk app
Deploya till simulator
Deploya till fysisk enhet
Deploy till fysisk enhet kommer bara att göras från min dator
Man behöver ett utvecklarcertifikat för att göra det. Tradera
har ett konto för utvecklare, som man kan använda.
Avgränsningar
Vår app kommer inte att...>
Ha några splash screens
Hantera landscape orientation
Anpassas för retina/icke-retina
Dra in en massa pengar
...eller?
Nu bygger vi!
Öppna XCode...
OBS! Det finns en massa konventioner som vi inte kommer att beröra,
som delegat, protocol, initWith etc. etc. Vår kod kommer inte vara
snygg, men det får vi ta nästa gång.
Skapa en Single View Application
Product name: Clippy
Organization: eBay Sweden AB
Company identifier: com.tradera (domäninvers)
Bundle identifier: kolla...går att ändra sen
Devices: Universal...vad betyder det?
Use Storyboards: YES...vad betyder det?
Use ARC: YES...vad betyder det?
Include Unit Tests: NO...vi kommer inte att använda det
Projektet:
Kolla igenom projektets inställningar
Kolla igenom projektets olika filer
Nämn att vi inte kommer att fokusera på en snygg struktur
Ikoner:
Kör appen as is
Kolla den vita ikonen
Gå tillbaka till XCode
Lägg till alla bilder från zipen (COPY!!!)
Diskutera @2x, ~ipad etc. Varför heter de så?
Dra in ikonerna i projektinställningarna
Diskutera splash screens, storlekar etc.
Diskutera även eventuella byggvarningar
Kör appen igen...tadaaa!!!
Kör appen för iPad...tadaa!!!
iPhone - steg 1: Första vyn
Öppna storyboard för iPhone
Stäng av auto layout
Kolla på de olika elementen som finns
Dra in en bakgrundsbild, sätt bild och springs/struts
Dra in en knapp och ändra texten
Kör appen i iPhone-simulatorn
iPhone - steg 2: Segue
Dra in en ny vy
Ctrl+dra från knappen
Vad är en segue?
Välj modal och kör simulatorn
Byt modal-transition till curl och kör igen
Embed in navigation bar
Byt modal till push och kör igen
iPhone - steg 3: Andra vyn
Kopiera in bakgrundsbilden
Dra in en ny bild och sätt Clippy
Dra in en label och sätt texten
Kör igen
iPhone - steg 4: Hoppa
Dra in och länka till Bounce-koden
Kolla på koden (NÄSTA SLIDE!)
Bounce-kod
Lägg in denna kod i ClippyViewController.m
- (void)bounce
{
UIView *clippy = self.clippyContainerView;
[clippy bounce:0.5];
[self performSelector:@selector(bounce) withObject:nil afterDelay:1];
}
...och denna slutet av viewDidLoad:
[self bounce];
iPhone - steg 4: Hoppa (forts.)
Skapa en clippy property
Få clippy att hoppa - texten står kvar
Skapa en container-vy och få den att hoppa istället
iPhone - steg 5: Kommunikation mellan vyer
Bara jag
Skapa en text-property
Sätt den i prepareForSegue
iPad
På grund av att vi har kod går det snabbt
Skapa vyerna och sätt rätt klasser
Ctrl+dra till rätt properties
Kör och visa hur allt fungerar automatiskt
Deploy till enhet
Måste ha utvecklarcertifikat
Måste aktivera enheten för utveckling
Skaffa cert via utvecklarportalen
Summa summarum
Rätt enkelt att komma igång
Rätt gräslig syntax (men man vänjer sig)
ARC gör livet mycket enklare
Storyboards gör livet mycket enklare