Permalänk
Medlem

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.

Dold text

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.

Dold text

Å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?

Visa signatur

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

Permalänk
Medlem

skulle definitivt vara en intressant artikel att läsa!

Permalänk

men oh, blev ju besviken att den tog slut :/ Kommer följa denna guiden med stort intresse ! Bra ide !

Permalänk
Medlem

Längtar

Visa signatur

Pc 1 : Gigabyte gtx 670 / I7-3770K / 8gb Ripjaws 2133mhz / 850W corsair / Z77A-GD65 / 1 tb hdd / Nzxt phantom fulltower

Pc 2 : Gigabyte gtx 670 / I5 2500K / 8gb 1600mhz vengeance / 650W platinum / Asus p8z68-v pro gen 3 / 1 tb hdd / Lian li pc 05an

Permalänk
Medlem
Skrivet av M4rsian:

skulle definitivt vara en intressant artikel att läsa!

Skrivet av knubbsalen:

men oh, blev ju besviken att den tog slut :/ Kommer följa denna guiden med stort intresse ! Bra ide !

Skrivet av QQmore:

Vad jobbiga ni är som är intresserade! Haha.

Har någon då lust att kolla om det är några problem med att ladda ner och installera Xcode?

Visa signatur

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

Permalänk
Medlem

Låter mycket intressant;)

Visa signatur

*L_A_N_N_Z_Y*

Permalänk
Medlem

Mycket bra initiativ. Ser fram emot fortsättningen!

Permalänk
Medlem

Finna det inget vis att göra det på en pc? Har inte tillgång till en äpple-dator.

Skickades från m.sweclockers.com

Visa signatur

Alla mina leksaker får inte plats här, så här jag listar istället mina favoritinlägg:
1 2 3 4 5 6 7 8 9 10 11 12

Utelåst hobbymoderator

Permalänk
Medlem
Skrivet av Lannzy:

Låter mycket intressant;)

Skrivet av Bakteria:

Mycket bra initiativ. Ser fram emot fortsättningen!

Tackar! Skall fortsätta med guiden senare idag, har haft lite internet-problem.

Skrivet av Bakgrund:

Finna det inget vis att göra det på en pc? Har inte tillgång till en äpple-dator.

Skickades från m.sweclockers.com

Tror det skall gå att göra med någon slags emulator, dock skall det vara krångligt. Låt mig återkomma om det.
Edit: Tydligen verkar det bryta mot Apples användarvillkor, då man inte får köra OS X på något annat än apple-hårdvara. Tyvärr verkar det mer jobb än det är värt att göra iPhone-app på en PC. Får jag föreslå att du testar på android istället? De är inte lika kinkiga

Visa signatur

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

Permalänk

Ser fram emot uppdateringen av guiden!
En fråga, kan man installera Mac OSX på sin Windows speldator för att använda xCode eller MÅSTE det vara typ Macbook Pro ?

Permalänk
Medlem
Skrivet av TeknikHemmet:

Ser fram emot uppdateringen av guiden!
En fråga, kan man installera Mac OSX på sin Windows speldator för att använda xCode eller MÅSTE det vara typ Macbook Pro ?

Vad roligt!
Ledsen att jag har varit långsam, har dels haft internetproblem, men också känt mig dålig hälsomässigt så jag har inte orkat ta tag i det. Kommer en uppdatering i vecka! Promise!

Det går ju såklart att installera Mac OSX på sin windows-dator, men jag tror det bryter mot apples "regler" och du kommer nog få en del problem. Men som sagt är jag ingen expert inom ämnet utan det finns nog människor som har mycket bättre koll än mig.

Visa signatur

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

Permalänk

Gillar starkt din idé om att guida oss! Kommer följas!

Visa signatur

Har du ett eget företag som skulle vilja ha en egen applikation?
Vill du veta vad man kan ha en egen applikation till som egen företagare?

Tveka inte att höra av dig till mig!

Permalänk
Medlem
Skrivet av FelixNilsson:

Gillar starkt din idé om att guida oss! Kommer följas!

Tack!

Jag vet att jag lovade en uppdatering idag, men jag fick åka in till akuten så det får bli senare i veckan.

Skickades från m.sweclockers.com

Visa signatur

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

Permalänk

Kanon, skall följas

Visa signatur

| ASUS P8Z68-V PRO/GEN3 | i5 2500K - 4.9 GHz| Corsair H100 PnP | Corsair SSD Drive 120G Force3 | 8 Gb Corsair 1600 MHz | EVGA GTX Titan + Geforce 210 + Triplehead2Go + 6 skärmar varav 5 touch | Corsair TX 850W V2 /80+ Bronze | moddat ANTEC P280 |
http://www.sweclockers.com/galleri/9290-simpit-flygsim-och-ga...

Permalänk

Är det något på G?

Visa signatur

Har du ett eget företag som skulle vilja ha en egen applikation?
Vill du veta vad man kan ha en egen applikation till som egen företagare?

Tveka inte att höra av dig till mig!

Permalänk
Medlem
Skrivet av FelixNilsson:

Är det något på G?

Det kommer! Vill gärna göra klart lite mer först innan jag lägger ut något, så att det känns värt att följa

Visa signatur

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

Permalänk
Medlem

Tur att vi ska få Mac laptops i skolan nu då

Visa signatur

ᕦ(ツ)ᕤ

Permalänk
Medlem

Kul guide. Ser fram emot resten!

Permalänk
Medlem

Jag har försummat er! Det har helt enkelt varit för mycket att göra, men det är ingen ursäkt.

Ni skall få en present och en uppdatering av guiden i morgon!
F'låt.

Visa signatur

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