Vous êtes sur la page 1sur 19

1

Bevezets az iPhone
programozsba
A FEJEZET FBB RSZEI A KVETKEZK:
Hogyan szerezhetjk be az iPhone SDK-t?
Milyen komponenseket tartalmaz az iPhone SDK?
Milyen funkcikkal rendelkeznek a fejleszteszkzk: az Xcode, az Interface
Builder, az iPhone Simulator?
Mire kpes az iPhone Simulator?
Hogyan pl fel az iPhone OS?
Milyen keretrendszerei vannak az iPhone SDK-nak?
Mik az iPhone jellegzetessgei s korltai?
Ismerkedjnk meg az iPhone-programozs vilgval. Az, hogy kzbe vettk ezt a knyvet, egyben azt jelenti, hogy rdekel bennnket az iPhone-alkalmazsok fejlesztse, s
csatlakozni szeretnnk ahhoz a tbb tzezer fejleszthz, akiknek az alkalmazsai mr
megtallhatk az AppStore-ban.
A rgi knai monds gy tartja: a feladatod elvgzshez elszr fend meg a szerszmaidat. A sikeres programozshoz elszr is a felhasznlt eszkzket kell megismernnk. Ez az iPhone-alkalmazsok programozsra klnsen igaz j pr eszkzt
meg kell tapasztalnunk ahhoz, hogy egyltaln elkezdhessk. gy ennek a fejezetnek az a
clja, hogy bemutassa azokat a klnbz eszkzket, amelyekre a fejlesztshez szksgnk van.

1. fejezet: Bevezets az iPhone programozsba

Az iPhone SDK beszerzse


Ahhoz, hogy iPhone-ra vagy iPod Touchra fejleszthessnk, elszr regisztrlt iPhone-fejlesztnek kell jelentkeznk a http://developer.apple.com/iphone/program/start/register/
webhelyen. A regisztrci ingyenes, s hozzfrst biztost az iPhone SDK-hoz, valamint a kezdshez szksges ms hasznos eszkzkhz. A regisztrci utn letlthetjk
az iPhone SDK-t (lsd az 1.1. brt).

1.1.bra

Az iPhone SDK teleptshez a kvetkez rendszerkvetelmnyek szksgesek:


Csak Intel-alap Maceken hasznlhat, gyhogy ha ms tpus a processzorunk
(pldul a rgi G4 vagy G5 Mac), akkor nincs szerencsnk.
A rendszert frissteni kell a legjabb Mac OS X verzira.
Igencsak hasznos, ha rendelkeznk egy iPhone-nal vagy iPod Touchcsal is, br ez nem
szigor felttel, az alkalmazsunk tesztelshez ugyanis hasznlhatjuk az SDK-hoz tartoz iPhone Simulatort is. Ha azonban bizonyos hardveres funkcikat (kamera, gyorsulsmr stb.) szeretnnk tesztelni, akkor egy tnyleges eszkzre is szksgnk lesz.
Ha az SDK letltse befejezdtt, teleptsk (lsd az 1.2. brt). El kell fogadnunk
nhny licencmegllapodst, majd ki kell vlasztanunk a szoftver teleptsi knyvtrt.

Az iPhone SDK rszei

1.2.bra

Ha az alaprtelmezett belltsokat hasznljuk, akkor a telepts utn a /Developer/Applications mappban talljuk meg a klnfle eszkzket (lsd az 1.3. brt).

1.3.bra

Az iPhone SDK rszei


Az iPhone SDK olyan fejleszteszkzk csoportja, amelyekkel iPhone-ra s iPod Touchra
fejleszthetnk alkalmazsokat. Tartalma a kvetkez:
Xcode integrlt fejlesztkrnyezet (IDE), amely a projektek kezelst, mdostst s hibakeresst teszi lehetv.

1. fejezet: Bevezets az iPhone programozsba

Dashcode integrlt fejlesztkrnyezet (IDE), amelyben webalap iPhone-alkalmazsokat s Dashboard-widgeteket fejleszthetnk. A Dashcode-dal nem foglalkozunk ebben a knyvben.
iPhone Simulator olyan szoftver, amely egy iPhone-t szimull Macen.
Interface Builder vizulis szerkeszt az iPhone-alkalmazsok felhasznli felletnek megtervezshez.
Instruments elemzeszkz az alkalmazsaink vals idej optimalizlshoz.
(A kvetkezkben rszletesen is sz lesz ezekrl az eszkzkrl.)

Xcode
Az iPhone SDK sszes eszkze teht a /Developer/Applications mappba van teleptve
(az alaprtelmezett belltsok hasznlata esetn). Az egyik ezek kzl az eszkzk kzl
az Xcode.

1.4.bra

Az iPhone SDK rszei

Az Xcode elindtshoz kattintsunk dupln az ikonjra (lsd az 1.3. brt). Hasznlhatjuk


a gyorsabb megoldst, azaz a Spotlightot is: a keresmezbe rjuk be, hogy Xcode, s a
programnak a legels pozciban meg kell jelennie.
Miutn elindtottuk, megjelenik az dvzlkperny (lsd az 1.4. brt).
Az Xcode segtsgvel klnfle iPhone- s Mac OS X alkalmazsokat fejleszthetnk
(lsd az 1.5. brt).

1.5.bra

Az Xcode-ban lv IDE szmos olyan eszkzt s funkcit biztost, amelyek jcskn


megknnytik a dolgunkat. Az egyik ilyen funkci a kdkiegszts (lsd az 1.6. brt),
amely megjelenti az elrhet osztlyok s tagok (pldul metdusok, tulajdonsgok stb.)
listjt.
Megjegyzs Aleggyakrabban hasznlt funkcikrl a B fggelkben tallha
tunkrszletesebblerst.

1. fejezet: Bevezets az iPhone programozsba

1.6.bra

iPhone Simulator
Az iPhone Simulatorral (lsd az 1.7. brt), amely az
iPhone SDK msik igen hasznos eszkze, tesztelhetjk
az alkalmazsunkat a sajt iPhone-unk/iPod Touchunk
hasznlata helyett. Az iPhone Simulator a /Developer/
iPhone OS <version>/Platforms/iPhoneSimulator.plat-

mappban tallhat. Legtbbszr nem kell sajt kezleg elindtanunk, mert ha


az Xcode-ban futtatjuk az alkalmazsunkat (vagy ha
hibt keresnk), akkor az Xcode automatikusan megteszi helyettnk. Az Xcode emellett automatikusan telepti az alkalmazst az iPhone Simulatorra.

form/Developer/Applications/

1.7.bra

Az iPhone SDK rszei

AZ IPHONE SIMULATOR NEM EMULTOR


Az iPhone Simulator szimultor, nem pedig emultor. A klnbsg az, hogy a szimultor megprblja egy eszkz mkdst utnozni. Az iPhone Simulator egy iPhone tnyleges mkdst szimullja. A szimultor maga azonban a Macre teleptett klnbz
knyvtrakat (pldul a QuickTime-ot) hasznlja a klnbz dolgok megjelentsre
azrt, hogy ezek ugyangy nzzenek ki, mint egy igazi iPhone-on. A szimultoron tesztelt alkalmazsok emellett le vannak fordtva x86 kdra. Ez a kd egy, a szimultor ltal
megrtett byte-kd.
Az emultor ezzel szemben emullja egy eszkz mkdst. Az emultorokon tesztelt alkalmazsok az adott eszkz ltal hasznlt tnyleges byte-kdra vannak lefordtva.
Az emultor gy futtatja az alkalmazst, hogy a byte-kdot lefordtja egy olyan formra,
amelyet az emultort futtat gazdaszmtgp kpes vgrehajtani.
Egy egyszer plda a szimulci s az emulci kzti klnbsg rzkeltetsre: kpzeljk el, hogy megprblunk meggyzni egy gyereket arrl, hogy veszlyes dolog ksekkel jtszani. Ennek szimullsra gy tesznk, mintha megvgnnk magunkat egy kssel.
Ha emullni szeretnnk, akkor fogunk egy kst, s tnyleg megvgjuk magunkat.
Az iPhone Simulator kpes az iPhone OS klnbz verziinak a szimullsra (lsd az
1.8. brt). Ez a kpessge nagyon hasznos akkor, ha a platform rgebbi verziin is szeretnnk elrhetv tenni az alkalmazsunkat, emellett jl jn tesztelshez, valamint a klnbz verzikon futtatott pldnyok hibajelentseinek a hibakeresshez is.

1.8.bra

Mire kpes az iPhone Simulator?


Az iPhone Simulator az iPhone-ok s az iPod Touchok klnbz funkciit szimullja.
Ezek kz tartoznak a kvetkezk:
a kperny forgatsa balra, flfel s jobbra;
a gesztusok tmogatsa:
rints,
9

1. fejezet: Bevezets az iPhone programozsba

rints s nyomva tarts,


dupla rints,
cssztats,
lapozs,
hzs,
csptets;
kevs a memria figyelmeztetsek szimullsa.
Az iPhone Simulatornak, lvn egy eszkz szoftveres szimultora, megvannak a maga
korltai. A nem rhetk el a kvetkez funkcik:
helyzeti informci lekrse egy lland koordintt jelent csak meg, pldul
szaki szlessg 37,3317 s nyugati hosszsg 122,0307,
hvskezdemnyezs,
a gyorsulsmr hasznlata,
SMS-ek kldse s fogadsa,
alkalmazsok teleptse az AppStore-bl,
kamera,
mikrofon,
az OpenGL ES szmos funkcija.
Az iPhone Simulator sebessge nagyban fgg a Macnk teljestmnytl, szemben az
eszkz valdi teljestmnyvel. Ezrt fontos az alkalmazsunkat letesztelni egy igazi eszkzn, s nem rdemes kizrlag az iPhone Simulatorra tmaszkodni a tesztelsben.
Br az iPhone Simulatornak vannak korltai, mindenkppen hasznos eszkz az alkalmazsaink tesztelshez. m az alkalmazst ktelez tesztelni egy igazi iPhone-on
vagy iPod Touchon, mieltt kzztehetnnk az AppStore-ban.
Megjegyzs AzE fggelkben tallunk egy rszletes lerst arrl, hogyan
tesztelhetjkazalkalmazsunkatigazieszkzn.

10

Az iPhone SDK rszei

Alkalmazsok eltvoltsa az iPhone Simulatorbl


Az iPhone Simulator iPhone OS fjlrendszernek felhasznli tartomnya a
Application Support/iPhone Simulator/User/ mappban tallhat.
Megjegyzs A~/Library/Application

Support/iPhone

~/Library/

Simulator/User/

mappamsikneve:<iPhoneUserDomain>.

A kls felek sszes alkalmazst az <iPhoneUserDomain>/Applications/ mappban trolja a rendszer. Amikor teleptnk egy alkalmazst az iPhone Simulatorra, ltrejn egy ikon
a kezdkpernyn (lsd az 1.9. bra bal oldaln), s ltrejn egy fjl s egy mappa az
Applications mappban (lsd az 1.9. bra jobb oldaln).

1.9.bra

Az alkalmazsok eltvoltshoz (trlshez) kvessk az albbi lpseket:


1. Kattintsunk r az alkalmazs ikonjra a kezdkpernyn, s tartsuk lenyomva
addig, amg el nem kezd rezegni. Minden ikon bal fels sarkban megjelenik egy
x gomb.
2. Kattintsunk az eltvoltand alkalmazs ikonja
melletti x gombra (lsd az 1.10. brt).
3. Megjelenik egy figyelmeztetablak, amely megkrdezi, hogy biztosan trlni akarjuk-e az
ikont. A trls megerstshez kattintsunk a
Delete (trls) gombra.

1.10.bra

FigyelmeztetsAzalkalmazseltvoltsakorarendszerautomatikusantrli
azApplicationsmappbanlvmegfelelfjltsmapptis.

11

1. fejezet: Bevezets az iPhone programozsba

Az iPhone Simulator alaphelyzetbe lltsnak legegyszerbb mdja az, ha az iPhone


Simulator Reset Content and Settings (iPhone Simulator belltsok s tartalmak
trlse) menpontra kattintunk.

Interface Builder
Az Interface Builder egy olyan vizulis szerkeszt, amely lehetv teszi az iPhone-alkalmazsok felhasznli felletnek megtervezst. Az Interface Builder hasznlatakor
nzeteket kell ablakokba hzni, majd a klnbz nzeteket kivezetsekkel s mveletekkel kell sszekapcsolni, hogy azok programozottan egyttmkdjenek a programkdunkkal.
MegjegyzsAkivezetsekrlsamveletekrla3.fejezetben(Kivezetsek,
mveleteksnzetvezrlk)tallhatrszleteslers.

Az 1.11. bra az Interface Builder klnbz ablakait mutatja be.


(A C fggelkben lsd az Interface Buildert rszletesebben.)

Instruments
Az Instruments alkalmazs (lsd az 1.12. brt) lehetv teszi a Mac OS X s iPhonealkalmazsaink teljestmnynek dinamikus nyomon kvetst s profiljaik elksztst.
Az Instruments hasznlatval:
stressztesztet hajthatunk vgre az alkalmazsainkon,
megkereshetjk a memriaszivrgsokat az alkalmazsainkban,
alapos ttekintst kapunk alkalmazsaink viselkedsrl a futtatsuk sorn,
nyomon kvethetjk az alkalmazsainkban lv, nehezen reproduklhat problmkat.
Megjegyzs AzInstruments alkalmazst nem trgyaljuk ebben a knyvben.
TovbbiinformcitazAppledokumentcijbantallhatunk.

12

Az iPhone SDK rszei

1.11.bra

1.12.bra

13

1. fejezet: Bevezets az iPhone programozsba

Az iPhone OS felptse
Br a knyvnek nem clja, hogy az iPhone OS bels felptsvel foglalkozzon, nhny
fontos elemt azonban rdemes megismerni. Az 1.13. bra a Mac OS X-et s az iPhone
OS-t alkot klnbz absztrakcis rtegeket mutatja be.

1.13.bra

Megjegyzs AziPhone OS felptse nagyon hasonlt a Mac OS Xre, m


abban klnbznek, hogy az elbbinek a Cocoa Touch, utbbinak pedig a
Cocoakeretrendszeralegfelsrtege.

A legals rteg a Core OS, amely az opercis rendszer alapja (magja). Ez felel a memriakezelsrt, a fjlrendszerrt, a hlzati kapcsolatokrt s az opercis rendszer ms
feladatairt, valamint ez tartja a kzvetlen kapcsolatot a hardverelemekkel. A Core OS
rteg sszetevi a kvetkezk:
OS X kernel,
Mach 3.0,
BSD,
socketek,
biztonsg,
energiagazdlkods,
kulcskezels (keychain),
tanstvnyok,
fjlrendszer,
Bonjour.
14

Az iPhone OS felptse

A Core Services (alapvet szolgltatsok) rtege biztostja az alapszint hozzfrst az


iPhone OS szolgltatsaihoz. Ez biztostja a Core OS rtegben lv szolgltatsok absztrahlsnak a lehetsgt. A Core Services rteg az albbi komponensekbl ll:
gyjtemnyek (collections),
cmtr,
hlzatkezels,
fjlok elrse,
SQLite,
Core Location,
internetes szolgltatsok,
szlkezels,
belltsok,
URLsegdprogramok.
A Media rteg az iPhone-alkalmazsokban hasznlhat multimdis szolgltatsokat biztostja. sszetevi a kvetkezk:
Core Audio,
OpenGL,
hangkevers,
hangfelvtel,
videolejtszs,
JPG, PNG, TIFF,
PDF,
Quartz,
Core Animation,
OpenGL ES.
A Cocoa Touch egy olyan absztrakcis rteg, amely klnbz knyvtrakat biztost az
iPhone s az iPod Touch programozshoz; pldul:

15

1. fejezet: Bevezets az iPhone programozsba

tbbrintses esemnyek,
tbbrintses vezrlelemek,
gyorsulsmr,
nzethierarchia,
lokalizci,
figyelmeztetsek,
webnzetek,
kapcsolatvlaszt (People Picker),
kpvlaszt (Image Picker),
vezrlk.
Az iPhone SDK az 1.1. tblzatban lthat, funkci szerint csoportostott keretrendszereket tartalmazza.
Megjegyzs Akeretrendszer olyan szoftverknyvtr, amely bizonyos funkci
katbiztost.

1.1.tblzat. Az iPhone SDK keretrendszerei

Keretrendszer neve

Lers

AddressBook.framework

Hozzfrst biztost a felhasznl nvjegyeit tartalmaz kzponti


adatbzishoz.

AddressBookUI.framework

Az Address Book alkalmazs adatbzisban trolt nvjegyek megjelentshez szksges felhasznli felletet biztostja.

AudioToolbox.framework

Alacsony szint C API-kat biztost hangok felvtelre s lejtszsra,


valamint az audio-hardverkezelsre.

AudioUnit.framework

Az iPhone OS ltal biztostott hangfeldolgoz plug-inek interfszt


szolgltatja az alkalmazsunkhoz.

AVFoundation.framework

Alacsony szint C API-kat biztost hangok felvtelre s lejtszsra,


valamint az audio-hardverkezelsre.

CFNetwork.framework

Segt a hlzati szolgltatsok s konfigurcik (pl. HTTP-, FTP- s


Bonjour-szolgltatsok) elrsben.

CoreAudio.framework

Deklarlja a tbbi Core Audio interfsz ltal hasznlt adattpusokat


s llandkat.

CoreData.framework

ltalnos megoldst biztost az objektumbrzols kezelsre az alkalmazsunkban.

16

Nhny tovbbi hasznos tudnival

Keretrendszer neve

Lers

CoreFoundation.framework

Absztrahlja a gyakori adattpusokat, az Unicode-sztringeket, az


XML-t, az URL-eket stb.

CoreGraphics.framework

C-alap API-kat tartalmaz 2D-s megjelentshez; a Quartz rajzolmotoron alapszik.

CoreLocation.framework

Helyalap adatokat szolgltat GPS, cellaazonost s wifi hlzatok


alapjn.

ExternalAccessory.framework

Lehetsget nyjt a kszlk kls tartozkaival val kommuniklsra.

Foundation.framework

Az Objective C alaposztlyait (pl. NSObject), alapvet adatfajtit, az


opercis rendszer szolgltatsait stb. biztostja.

GameKit.framework

Hlzatkezelsi kpessggel ruhzza fel a jtkokat; gyakran hasznljk peer-to-peer kapcsolatokhoz s a jtkban trtn beszdhez.

IOKit.framework

Driverfejlesztst tesz lehetv.

MapKit.framework

Trkpkezel felletet gyaz be az alkalmazsba.

MediaPlayer.framework

Lehetsget nyjt video- s hangfjlok lejtszsra.

MessageUI.framework

Nzetvezrl-alap kezelfelletet biztost e-mailek rshoz.

MobileCoreServices.framework

Hozzfrst biztost a szabvnyos tpusokhoz s llandkhoz.

OpenAL.framework

Implementlja az OpenAL specifikcit.

OpenGLES.framework

Az OpenGL API rszeibl sszelltott kompakt s hatkony kszlet


2D-s s 3D-s rajzolshoz.

QuartzCore.framework

Lehetv teszi animcik s effektusok belltst, majd ezek hardveres megjelentst.

Security.framework

Lehetv teszi az adatok biztostst s a szoftverhez val hozzfrs vezrlst.

StoreKit.framework

Tmogatja az alkalmazson bell trtn vsrlst.

SystemConfiguration.framework

Segt a hlzat rendelkezsre llsnak s az eszkz llapotnak megllaptsban.

UIKit.framework

Tartalmazza az alkalmazsok felhasznli felletnek kezelshez


hasznlatos alapvet objektumokat.

Nhny tovbbi hasznos tudnival


A fentiekben tfog kpet kaptunk az iPhone-alkalmazsok fejlesztsekor hasznlhat
eszkzkrl. A kvetkezben ttekintnk nhny olyan hasznos informcit, amelyek
megknnythetik a dolgunkat.

17

1. fejezet: Bevezets az iPhone programozsba

Az iPhone OS verzii
Jelen knyv rsakor az iPhone OS a harmadik kiadsnl azaz a 3.0-s verzinl tart.
Az iPhone OS-t tbbszr tdolgoztk, a fbb verzik a kvetkezk:
1.0 az iPhone els kiadsa,
1.1 tovbbi funkcik s az 1.0 nhny programhibjnak javtsa,
2.0 az iPhone 3G-s kiadsa; az AppStore-t is tartalmazza,
2.1 tovbbi funkcik s a 2.0 nhny programhibjnak javtsa,
2.2 tovbbi funkcik s a 2.1 nhny programhibjnak javtsa,
3.0 az iPhone OS harmadik fbb kiadsa; a kvetkez rszben lesz sz az
iPhone OS 3.0 jdonsgairl.
Az egyes verzik funkciinak rszletes lersa a
webhelyen tallhat.

http://en.wikipedia.org/wiki/IPhone_

OS_version_history.

AZ IPHONE OS 3.0 JDONSGAI


2009 jniusban az Apple kiadta az iPhone OS harmadik fbb verzijt egy tovbbfejlesztett
eszkzzel: az iPhone 3GS-sel. Az S sebessget jelent: az j eszkz a gyorsabb (600 MHz-es)
processzornak s az jraoptimalizlt opercis rendszernek ksznheten minden tekintetben gyorsabb volt, mint eldei.
Az iPhone OS 3.0 nhny fontosabb j funkcija a kvetkez:
hangalap aktivls,
tovbbfejlesztett kamera (3 MP, autofkusz) s vide rgztsnek a lehetsge,
az iPhone helynek meghatrozsa a Find My iPhone (sajt iPhone-om megkeresse) funkci segtsgvel (MobileMe fik szksges hozz),
MMS s megoszts tmogatsa (a szolgltatnak is tmogatnia kell),
kivgs, msols s beilleszts tmogatsa,
j fejleszti API-k:
Push rtestsek (notifications) kls felek alkalmazsaihoz,
Bluetooth-szolgltatsok: A2DP, LDAP, P2P s Bonjour,
az API lekpezse,
e-mailek kldse alkalmazsokon bellrl.

18

Nhny tovbbi hasznos tudnival

Tesztels tnyleges eszkzkn


A kezd iPhone-programozk egyik leggyakoribb panasza az volt, hogy a sajt eszkzkn nem tudjk tesztelni a maguk fejlesztette alkalmazsokat. Kiderlt, hogy az Apple
biztonsgi okokbl minden alkalmazsnl megkveteli, hogy az rvnyes tanstvnnyal
al legyen rva, tovbb a tesztelshez fejleszti tanstvny is szksges.
Ahhoz, hogy egy tnyleges eszkzn tesztelhessk az alkalmazsunkat, regisztrlnunk kell az iPhone fejleszti programra (Developer Program), s krvnyeznnk kell
egy fejleszti tanstvny teleptst r. Ez hossz folyamat, az E fggelkben rszletes
lers tallhat rla.

Kpernyfelbonts
A klsre mutats iPhone nagy felbonts kpernyvel rendelkezik. A nagyjbl 9 centimter
tmrj kperny tmogatja a tbbrintses
mveleteket, mg felbontsa 480 320 kppont,
amelyhez 163 ppi (kppont/hvelyk) prosul
(lsd az 1.14. brt). Az alkalmazsaink megtervezsekor figyelni kell arra, hogy a 480 320-as
kpernyfelbonts ellenre az esetek tbbsgben az llapotsor miatt 460 320 kppontra vagyunk korltozva. Termszetesen az llapotsor
programozottan is kikapcsolhat, gy hasznlhatjuk a maximlis 480 320-as felbontst.
Arra is gyelni kell, hogy a felhasznlk elfordthatjk az eszkzket az alkalmazs fekv
tjolshoz. Az ilyen esetekre gy kell mdostanunk a felhasznli felletet, hogy az alkalmazs
ekkor is megfelelen mkdjn tovbb, s el kell
dntennk, hogy tmogatjuk-e az j tjolst.

1.14.bra

Megjegyzs Akperny forgatsnak kezelsrl a 6. fejezetben (A kper


nyforgatsa)leszsz.

19

1. fejezet: Bevezets az iPhone programozsba

Egyablakos alkalmazsok
Ha mobilra programozunk, s ez mg j terlet a szmunkra, figyelnnk kell arra, hogy a
korltozott kpernymret azt jelenti, hogy a mobilplatformok tbbsge csak az egyablakos alkalmazsokat tmogatja azaz az alkalmazs ablaka elfoglalja a teljes kpernyt.
Ez all a korltozs all az iPhone sem jelent kivtelt. Az asztali gpek opercis rendszereinl (pldul Mac OS X vagy Windows) a megszokott tfedsben lv ablakokat az
iPhone nem tmogatja.

Httrben fut alkalmazsok nlkl


A mobileszkzk alkalmazsainak programozsakor az egyik nagy kihvst az energiagazdlkods jelenti. A rosszul megrt alkalmazs nagyon erforrs-ignyes lehet, s gyorsan lemertheti az akkumultort. Az Apple tudatban van ennek a problmnak, ezrt a
ms platformokon tapasztaltak ttekintse utn arra a kvetkeztetsre jutott, hogy a httrben fut alkalmazsok vannak a legrosszabb hatssal a fogyasztsra s a teljestmnyre. Ms platformokon (pldul a Windows Mobile esetben), ha egy alkalmazs eltnik
szem ell (pldul egy berkez hvs miatt), akkor is megmarad a memriban, s minden ilyen httrben fut alkalmazs rontja a teljestmnyt, s fogyasztja az energit.
Az Apple megoldsa egyszer volt: megtiltottk, hogy az alkalmazsok a httrben
fussanak. Br a megolds hatkony, szmos fejlesztnek nem tetszett. Sok hasznos alkalmazs megfelel mkdshez mkdnik kell a httrben. A csevegalkalmazsoknak pldul futniuk kell ahhoz, hogy megkapjk az zeneteket a tbbi felhasznltl. Erre
a problmra az Apple kifejlesztette a push rtestsi szolgltatst, amely akkor is tadja
az adatokat az alkalmazsoknak, ha azok ppen nem futnak. Ez a szolgltats az iPhone
3.0-val jelent meg. A push technolgival az eszkz folyamatosan csatlakozik az Apple
szerverhez egy IP-alap kapcsolaton keresztl. Amikor az eszkznek figyelnie kell, az
Apple szervere kld egy rtestst, gy jelez az eszkzt kiszolgl alkalmazsnak.
Megjegyzs Apush rtestssel nem foglalkozunk ebben a knyvben. To
vbbi informcit az Apple iPhone fejleszti kzpontjban tallunk: http://
developer.apple.com/iphone/index.action.

20

Nhny tovbbi hasznos tudnival

Kls felek alkalmazsaira vonatkoz korltozsok


Az Apple az iPhone-ra fejleszt programozk szmra kirtt egy msik korltozst is,
eszerint nem hvhatjuk meg kls felek alkalmazsait a sajt alkalmazsunkon bellrl.
Ezen kvl interpretlt kdot sem futtathatunk az alkalmazsunkbl. Erre j pldt szolgltat egy webbngsz alkalmazs megrsa az iPhone-ra. Mivel az internetes alkalmazsok ltalban JavaScriptet hasznlnak az gyfloldali tevkenysg vgrehajtsra, ez a
korltozs azt jelenti, hogy az alkalmazsunkban nem futtathatunk JavaScript-kdot.
SSZEFOGLALS
A fejezetben rintlegesen ttekintettk az iPhone-alkalmazsok fejlesztshez hasznlhat
eszkzket. Megismertk az iPhone nhny jellegzetessgt, pldul az egyalkalmazsos korltot s a kls felek alkalmazsmeghvsnak a tiltst is. A kvetkez fejezetben ltrehozzuk az els iPhone-alkalmazsunkat, majd belpnk az iPhone-programozs vilgba.
A FEJEZET TUDNIVALI
Tma

Alapelvek

Az iPhone SDK beszerzse

Regisztrls iPhone-fejlesztknt a http://developer.apple.com


webhelyen s az ingyenes SDK letltse.

iPhone Simulator

A tesztels nagy rsze vgrehajthat az iPhone Simulatoron. m


ersen javallott egy tnyleges eszkzn is tesztelni.

Az iPhone Simulator korltai

A hardverhez val hozzfrst ltalban nem tmogatja. Ide tartozik


pldul a kamera, a gyorsulsmr, a hangrgzts s egyebek.

Az iPhone SDK keretrendszerei

Az iPhone SDK tbb olyan keretrendszert is biztost, amelyek vgrehajtjk az iPhone bizonyos mkdseit. iPhone-alkalmazsainkat
ezeknek a keretrendszereknek a hasznlatval rjuk meg.

Httrben fut alkalmazsok

Az iPhone nem tmogatja a kls felek httrben fut alkalmazsait.

Kpernyfelbonts

480 320 kppont (elrejtett llapotsorral), 460 320 kppont (lthat llapotsorral).

Egyablakos alkalmazsok

Az iPhone-on minden alkalmazs egyablakos, azaz az ablakok kitltik a teljes kpernyt, az ablakok tfedse pedig nem lehetsges.

21