Guide: Din första iPhone-app
"Jag har en skitbra idé för en app, men jag kan inte programmera den! :(" - Nu kan du det.
Jag hänger mycket på systemutvecklings-delen av Flashback och där ser man mer eller mindre hela tiden nya trådstarter med ungefär samma andemening som den ovan. Någon har en SKITBRA(!) idé för en smartphone app som skulle göra dem till miljonärer, men de har ju aldrig lärt sig programmera utan sitter bara och kommer på bra idéer så därför undrar de hur i all sin dar de skall göra?
Ja, vi kan ju inte låta världen gå miste om deras fantastiska app, därför skall jag berätta för er hur ni går tillväga för att göra er första iPhone app.
Tyvärr "kräver" denna guide (om du tänkt följa den alltså) att man äger eller kan låna en mac-dator som har Mac OS X 10.5 eller högre och att man laddar ner Xcode härifrån. Med Xcode följer det en fullt kapabel simulator, så det krävs inte att du har en iPhone eller iPad.
- Men Zhirgoyt, kostar det inte massa att utveckla en app? Jag har hört att man måste bli medlem i något jättedyrt, exklusivt apple-dev-gäng!!
Svaret är nej, det kostar ingenting alls att börja utveckla, det enda du behöver göra är som sagt att ladda ner Xcode och skaffa dig ett gratis medlemskap här. Det som senare kommer att kosta dig är om du vill släppa din app på Appstore, men det är ju såklart frivilligt (kostnaden är isf $99/år, men då får du släppa hur många appar du vill). Notera också att du inte kan testa din app på telefon/iPad om du inte är betalande medlem.
Då skall vi sätta igång.
Lite mer uppenbara steg som jag inte kommer gå igenom:
- Regga dig om Apple Developer
- Ladda ner Xcode
- Installera Xcode
(Om någon skulle få problem med den här biten får ni gärna kommentera så skall jag lösa det. Vill inte ominstallera Xcode eftersom jag har mina certifikat installerade)
Ditt första projekt
Skapandet
Börja med att starta upp Xcode och välja: "Create new a Xcode project"

Därefter kommer du att se sidan där du väljer vilket TYP av projekt du vill göra. Om du klickar på dem olika projekten kommer du att se en liten beskrivning nedanför, och kanske också känna igen typen från någon av apparna du har på din telefon. För vårt projekt skall du välja "Single view application".

Därefter får du upp en ruta där det skall skrivas in lite information om appen.
Product Name = Vad appen skall heta (inte namnet som syns på appstore/telefonen)
Company Identifier = Skrivs som com.förnamnEfternamn om man inte har ett företag (fråga mig inte varför)
Class Prefix = Vad du vill skall stå framför alla auto-genererade filer Xcode skapar åt dig. Jag brukar välja något likt appnamnet, fast kortare.
Device Family = Vilken device som appen främst skall köras på. Bygger du en app för iPhone kommer du att kunna släppa den även för iPad, men den är inte optimerad för det.
Se till att "Use Storyboard" och "Use Automatic Reference Counting" (ARC, så att vi slipper hålla på lika mycket med memory management och slipper bry oss om minnesläckor (HURRA!)), men strunta i "Include Unit Tests".

Välj någonstans att spara ditt projekt (jag rekommenderar en "App-mapp").

Du har pulat ihop ditt första projekt, grattis! Det finns inget i det just nu, men ändå! På skärmen du ser här kan du göra vissa ändringar till appen, typ versionsnummer, vilken iOs-version appen är för och lite annat bös som vi kan prata om senare. Om du vill kan du nu köra din första app... det kommer inte att synas något, men då vet du att det funkar. Kolla uppe i högra, vänstra hörnet, välj en simulator och tryck på play. Notera dock att det tar ett tag att starta första gången.

Förklarande av lite grejer och din första bit kod
Nu kanske det är dags att nämna att jag inte anser mig vara fantastiskt insatt i objective-c, så jag kanske inte kan förklara alla saker med de rätta orden, men jag har skapat ett par appar och förhoppningsvis kan jag guida dig igenom din första app.
Förklaring av de olika filerna som syns just nu.
.h-filerna är där du deklarerar strings, arrays och liknande.
.m-filerna är där du skriver koden.
1: delegate-filerna är där du deklarerar och skriver kod för strings och liknande som skall vara globala för appen. Vi återkommer till detta.
2: storyBoard-filen är där du placerar ut knappar, labels och liknande för din app.
3: viewController är en "vanlig" "kod-sida" för en del av din app.
Jag förstår att detta kan låta förvirrande (knappt så jag förstår det själv), men jag hoppas det klarnar efter hand.

För att gå vidare klickar vi nu på MainStoryBoard.storyboard i menyn till vänster. Den första bilden nedanför visar vilken class (kod-sida) som hör till den "view" som du har klickat på (just nu finns det bara en).

Och klickar du på en knapp till höger så ser du lite andra inställningar du kan göra, som vi återkommer till. Klicka dig runt lite och se vad du hittar.

Nu ska vi testa att lägga in ett objekt på vår view. Rulla ner lite i listan i nedre, högra hörnet och leta upp "Label". Dra in den på din view där du vill ha den och släpp. Efter det kan du om du vill ändra vad det skall stå på labeln från början (uppe vid "text").

När vi ändå är här så kan vi lika gärna dra in en knapp också, gör på samma sätt som tidigare och ändra "Title" till det du vill skall stå på knappen.

Om du kollar till höger under "view" kan du också se de objekt som vi har lagt till i menyn.
Återkommer med resten lite senare, lägger upp för att bygga HYPE (!) och för att jag inte kan spara den annars.
Finns det något intresse för resten av guiden? Jag hade tänkt köra det i bild och text-form så att det skall vara lätt att copy-paste om något blir fel i din kod. Åsikter?
Mb: MSI Z77A-G43 ATX | Ram: Crucial Ballistix Sport 8GB 1600Mhz | CPU: Intel Core i5 3450 3,1Ghz (Ivy Bridge) | Chassi: Cooler Master Elite 430 Svart | Psu: Fractal Design Integra 500W | Grafikkort: PowerColor Radeon HD7970 | Hdd: 1TB Seagate Barracuda | SSD: Samsung EVO Basic 256gb | Monitor: HP Compaq LA2306x 23'' & (random) Acer 19''
Diverse projekt