swift programozás

Upload: kovinkovacs

Post on 03-Mar-2018

235 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Swift Programozs

    1/19

    11Bevezets 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 fejleszt

    eszkzk: az Xcode, az InterfaceBuilder, 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 kny-

    vet, egyben azt jelenti, hogy rdekel bennnket az iPhone-alkalmazsok fejlesztse, scsatlakozni szeretnnk ahhoz a tbb tzezer fejleszthz, akiknek az alkalmazsai mrmegtallhatk az AppStore-ban.

    A rgi knai monds gy tartja: a feladatod elvgzshez elszr fend meg a szer-szmaidat. A sikeres programozshoz elszr is a felhasznlt eszkzket kell megis-mernnk. Ez az iPhone-alkalmazsok programozsra klnsen igaz j pr eszkztmeg kell tapasztalnunk ahhoz, hogy egyltaln elkezdhessk. gy ennek a fejezetnek az aclja, hogy bemutassa azokat a klnbzeszkzket, amelyekre a fejlesztshez szks-gnk van.

  • 7/26/2019 Swift Programozs

    2/19

    1. fejezet: Bevezets az iPhone programozsba

    4

    Az iPhone SDK beszerzse

    Ahhoz, hogy iPhone-ra vagy iPod Touchra fejleszthessnk, elszr regisztrlt iPhone-fej-lesztnek kell jelentkeznk a http://developer.apple.com/iphone/program/start/register/

    webhelyen. A regisztrci ingyenes, s hozzfrst biztost az iPhone SDK-hoz, vala-mint a kezdshez szksges ms hasznos eszkzkhz. A regisztrci utn letlthetjkaz iPhone SDK-t (lsd az 1.1. brt).

    1.1.

    bra

    Az iPhone SDK teleptshez a kvetkezrendszerkvetelmnyek 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 nemszigor felttel, az alkalmazsunk tesztelshez ugyanis hasznlhatjuk az SDK-hoz tarto-z iPhone Simulatort is. Ha azonban bizonyos hardveres funkcikat (kamera, gyorsu-lsmrstb.) szeretnnk tesztelni, akkor egy tnyleges eszkzre is szksgnk lesz.

    Ha az SDK letltse befejezdtt, teleptsk (lsd az 1.2. brt). El kell fogadnunknhny licencmegllapodst, majd ki kell vlasztanunk a szoftver teleptsi knyvtrt.

  • 7/26/2019 Swift Programozs

    3/19

    Az iPhone SDK rszei

    5

    1.2.

    bra

    Ha az alaprtelmezett belltsokat hasznljuk, akkor a telepts utn a /Developer/Appli-cationsmappban 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 Touchrafejleszthetnk alkalmazsokat. Tartalma a kvetkez:

    Xcode integrlt fejlesztkrnyezet (IDE), amely a projektek kezelst, mdos-tst s hibakeresst teszi lehetv.

  • 7/26/2019 Swift Programozs

    4/19

    1. fejezet: Bevezets az iPhone programozsba

    6

    Dashcode integrlt fejlesztkrnyezet (IDE), amelyben webalap iPhone-alkal-mazsokat s Dashboard-widgeteket fejleszthetnk. A Dashcode-dal nem foglal-kozunk ebben a knyvben.

    iPhone Simulator olyan szoftver, amely egy iPhone-t szimull Macen.

    Interface Builder vizulis szerkesztaz iPhone-alkalmazsok felhasznli fel-letnek megtervezshez.

    Instruments elemzeszkz az alkalmazsaink vals idejoptimalizlshoz.

    (A kvetkezkben rszletesen is sz lesz ezekrl az eszkzkrl.)

    Xcode

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

    1.4.

    bra

  • 7/26/2019 Swift Programozs

    5/19

    Az iPhone SDK rszei

    7

    Az Xcode elindtshoz kattintsunk dupln az ikonjra (lsd az 1.3. brt). Hasznlhatjuka gyorsabb megoldst, azaz a Spotlightot is: a keresmezbe rjuk be, hogy Xcode, s aprogramnak a legelspozciban 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 jcsknmegknnytik a dolgunkat. Az egyik ilyen funkci a kdkiegszts (lsd az 1.6. brt),

    amely megjelenti az elrhetosztlyok s tagok (pldul metdusok, tulajdonsgok stb.)listjt.

    MegjegyzsAleggyakrabbanhasznlt funkcikrl aB fggelkben tallha

    tunkrszletesebblerst.

  • 7/26/2019 Swift Programozs

    6/19

    1. fejezet: Bevezets az iPhone programozsba

    8

    1.6.

    bra

    iPhone Simulator

    Az iPhone Simulatorral (lsd az 1.7. brt), amely aziPhone SDK msik igen hasznos eszkze, tesztelhetjkaz alkalmazsunkat a sajt iPhone-unk/iPod Touchunkhasznlata helyett. Az iPhone Simulator a /Developer/

    iPhone OS /Platforms/iPhoneSimulator.plat-form/Developer/Applications/mappban tallhat. Leg-tbbszr nem kell sajt kezleg elindtanunk, mert haaz Xcode-ban futtatjuk az alkalmazsunkat (vagy hahibt keresnk), akkor az Xcode automatikusan meg-teszi helyettnk. Az Xcode emellett automatikusan te-lepti az alkalmazst az iPhone Simulatorra.

    1.7.

    bra

  • 7/26/2019 Swift Programozs

    7/19

    Az iPhone SDK rszei

    9

    AZ IPHONE SIMULATOR NEM EMULTORAz iPhone Simulator szimultor, nem pedig emultor. A klnbsg az, hogy a szimul-

    tor megprblja egy eszkz mkdst utnozni. Az iPhone Simulator egy iPhone tny-leges mkdst szimullja. A szimultor maga azonban a Macre teleptett klnbzknyvtrakat (pldul a QuickTime-ot) hasznlja a klnbz dolgok megjelentsreazrt, hogy ezek ugyangy nzzenek ki, mint egy igazi iPhone-on. A szimultoron tesz-telt alkalmazsok emellett le vannak fordtva x86 kdra. Ez a kd egy, a szimultor ltalmegrtett byte-kd.

    Az emultor ezzel szemben emullja egy eszkz mkdst. Az emultorokon tesz-telt 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 egyszerplda a szimulci s az emulci kzti klnbsg rzkeltetsre: kp-zeljk el, hogy megprblunk meggyzni egy gyereket arrl, hogy veszlyes dolog ksek-kel jtszani. Ennek szimullsragy tesznk, mintha megvgnnk magunkat egy kssel.Ha emullniszeretnnk, akkor fogunk egy kst, s tnyleg megvgjuk magunkat.

    Az iPhone Simulator kpes az iPhone OS klnbzverziinak a szimullsra (lsd az1.8. brt). Ez a kpessge nagyon hasznos akkor, ha a platform rgebbi verziin is sze-retnnk elrhetv tenni az alkalmazsunkat, emellett jl jn tesztelshez, valamint a k-lnbzverzikon futtatott pldnyok hibajelentseinek a hibakeresshez is.

    1.8.bra

    Mire kpes az iPhone Simulator?

    Az iPhone Simulator az iPhone-ok s az iPod Touchok klnbzfunkciit szimullja.Ezek kz tartoznak a kvetkezk:

    a kpernyforgatsa balra, flfel s jobbra;

    a gesztusok tmogatsa:

    rints,

  • 7/26/2019 Swift Programozs

    8/19

    1. fejezet: Bevezets az iPhone programozsba

    10

    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 rhet

    k el a kvetkez

    funkcik:

    helyzeti informci lekrse egy lland koordintt jelent csak meg, pldulszaki szlessg 37,3317 s nyugati hosszsg 122,0307,

    hvskezdemnyezs,

    a gyorsulsmrhasznlata,

    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 azeszkz valdi teljestmnyvel. Ezrt fontos az alkalmazsunkat letesztelni egy igazi esz-kzn, s nem rdemes kizrlag az iPhone Simulatorra tmaszkodni a tesztelsben.

    Br az iPhone Simulatornak vannak korltai, mindenkppen hasznos eszkz az al-kalmazsaink 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.

  • 7/26/2019 Swift Programozs

    9/19

    Az iPhone SDK rszei

    11

    Alkalmazsok eltvoltsa az iPhone Simulatorbl

    Az iPhone Simulator iPhone OS fjlrendszernek felhasznli tartomnya a ~/Library/

    Application Support/iPhone Simulator/User/mappban tallhat.

    Megjegyzs A~/Library/Application Support/iPhone Simulator/User/

    mappamsikneve:.

    A klsfelek sszes alkalmazst az /Applications/mappban trol-ja a rendszer. Amikor teleptnk egy alkalmazst az iPhone Simulatorra, ltrejn egy ikona kezdkpernyn (lsd az 1.9. bra bal oldaln), s ltrejn egy fjl s egy mappa az

    Applicationsmappban (lsd az 1.9. brajobb oldaln).

    1.9.

    bra

    Az alkalmazsok eltvoltshoz (trlshez) kvessk az albbi lpseket:

    1. Kattintsunk r az alkalmazs ikonjra a kezdkpernyn, s tartsuk lenyomvaaddig, amg el nem kezd rezegni. Minden ikon bal felssarkban megjelenik egyx gomb.

    2. Kattintsunk az eltvoltand alkalmazs ikonjamelletti x gombra (lsd az 1.10. brt).

    3. Megjelenik egy figyelmeztetablak, amely meg-krdezi, hogy biztosan trlni akarjuk-e azikont. A trls megerstshez kattintsunk aDelete (trls) gombra.

    FigyelmeztetsAzalkalmazseltvoltsakorarendszerautomatikusantrli

    azApplicationsmappbanlvmegfelel fjltsmapptis.

    1.10.

    bra

  • 7/26/2019 Swift Programozs

    10/19

    1. fejezet: Bevezets az iPhone programozsba

    12

    Az iPhone Simulator alaphelyzetbe lltsnak legegyszerbb mdja az, ha az iPhoneSimulator Reset Content and Settings (iPhone Simulator belltsok s tartalmaktrlse) menpontra kattintunk.

    Interface Builder

    Az Interface Builder egy olyan vizulis szerkeszt, amely lehetv teszi az iPhone-alkal-mazsok felhasznli felletnek megtervezst. Az Interface Builder hasznlatakornzeteket kell ablakokba hzni, majd a klnbznzeteket kivezetsekkel s mvele-tekkel kell sszekapcsolni, hogy azok programozottan egyttmkdjenek a programk-dunkkal.

    MegjegyzsAkivezetsekrlsamveletekrla3.fejezetben(Kivezetsek,

    mveleteksnzetvezrlk) tallhatrszleteslers.

    Az 1.11. braaz Interface Builder klnbzablakait mutatja be.(A C fggelkben lsd az Interface Buildert rszletesebben.)

    InstrumentsAz Instruments alkalmazs (lsd az 1.12. brt) lehetv teszi a Mac OS X s iPhone-alkalmazsaink 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 prob-lmkat.

    MegjegyzsAzInstrumentsalkalmazstnem trgyaljukebbenaknyvben.

    TovbbiinformcitazAppledokumentcijbantallhatunk.

  • 7/26/2019 Swift Programozs

    11/19

    Az iPhone SDK rszei

    13

    1.11.

    bra

    1.12.bra

  • 7/26/2019 Swift Programozs

    12/19

    1. fejezet: Bevezets az iPhone programozsba

    14

    Az iPhone OS felptse

    Br a knyvnek nem clja, hogy az iPhone OS belsfelptsvel foglalkozzon, nhnyfontos elemt azonban rdemes megismerni. Az 1.13. braa Mac OS X-et s az iPhoneOS-t alkot klnbzabsztrakcis rtegeket mutatja be.

    1.13.

    bra

    Megjegyzs AziPhoneOS felptse nagyon hasonlt aMacOS Xre, m

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

    Cocoakeretrendszeralegfels rtege.

    A legals rteg a Core OS, amely az opercis rendszer alapja (magja). Ez felel a mem-riakezelsrt, a fjlrendszerrt, a hlzati kapcsolatokrt s az opercis rendszer msfeladatairt, valamint ez tartja a kzvetlen kapcsolatot a hardverelemekkel. A Core OSrteg sszetevi a kvetkezk:

    OS X kernel,

    Mach 3.0,

    BSD,

    socketek,

    biztonsg,

    energiagazdlkods,

    kulcskezels (keychain),

    tanstvnyok,

    fjlrendszer,

    Bonjour.

  • 7/26/2019 Swift Programozs

    13/19

    Az iPhone OS felptse

    15

    A Core Services (alapvet szolgltatsok) rtege biztostja az alapszinthozzfrst aziPhone OS szolgltatsaihoz. Ez biztostja a Core OS rtegben lvszolgltatsok abszt-rahlsnak 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 biz-tostja. 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 klnbzknyvtrakat biztost aziPhone s az iPod Touch programozshoz; pldul:

  • 7/26/2019 Swift Programozs

    14/19

    1. fejezet: Bevezets az iPhone programozsba

    16

    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 keretrendsze-reket tartalmazza.

    MegjegyzsAkeretrendszerolyan szoftverknyvtr,amelybizonyos funkci

    katbiztost.

    1.1.

    tblzat.Az iPhone SDK keretrendszerei

    Keretrendszer neve Lers

    AddressBook.framework Hozzfrst biztost a felhasznl nvjegyeit tartalmaz kzpontiadatbzishoz.

    AddressBookUI.framework Az Address Book alkalmazs adatbzisban trolt nvjegyek megje-lentshez szksges felhasznli felletet biztostja.

    AudioToolbox.framework Alacsony szintC 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 szintC API-kat biztost hangok felvtelre s lejtszsra,

    valamint az audio-hardverkezelsre.

    CFNetwork.framework Segt a hlzati szolgltatsok s konfigurcik (pl. HTTP-, FTP- sBonjour-szolgltatsok) elrsben.

    CoreAudio.framework Deklarlja a tbbi Core Audio interfsz ltal hasznlt adattpusokats llandkat.

    CoreData.framework ltalnos megoldst biztost az objektumbrzols kezelsre az al-kalmazsunkban.

  • 7/26/2019 Swift Programozs

    15/19

    Nhny tovbbi hasznos tudnival

    17

    Keretrendszer neve Lers

    CoreFoundation.framework Absztrahlja a gyakori adattpusokat, az Unicode-sztringeket, azXML-t, az URL-eket stb.

    CoreGraphics.framework C-alap API-kat tartalmaz 2D-s megjelentshez; a Quartz rajzol-motoron alapszik.

    CoreLocation.framework Helyalap adatokat szolgltat GPS, cellaazonost s wifi hlzatokalapjn.

    ExternalAccessory.framework Lehetsget nyjt a kszlk klstartozkaival val kommunikls-ra.

    Foundation.framework Az Objective C alaposztlyait (pl. NSObject), alapvetadatfajtit, azopercis rendszer szolgltatsait stb. biztostja.

    GameKit.framework Hlzatkezelsi kpessggel ruhzza fel a jtkokat; gyakran hasznl-jk peer-to-peer kapcsolatokhoz s a jtkban trtnbeszdhez.

    IOKit.framework Driverfejlesztst tesz lehetv.MapKit.framework Trkpkezelfelletet 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 kszlet2D-s s 3D-s rajzolshoz.

    QuartzCore.framework Lehetv teszi animcik s effektusok belltst, majd ezek hard-veres megjelentst.

    Security.framework Lehetv teszi az adatok biztostst s a szoftverhez val hozzf-rs vezrlst.

    StoreKit.framework Tmogatja az alkalmazson bell trtnvsrlst.

    SystemConfiguration.framework Segt a hlzat rendelkezsre llsnak s az eszkz llapotnak meg-llaptsban.

    UIKit.framework Tartalmazza az alkalmazsok felhasznli felletnek kezelshezhasznlatos alapvetobjektumokat.

    Nhny tovbbi hasznos tudnivalA fentiekben tfog kpet kaptunk az iPhone-alkalmazsok fejlesztsekor hasznlhateszkzkrl. A kvetkezben ttekintnk nhny olyan hasznos informcit, amelyekmegknnythetik a dolgunkat.

  • 7/26/2019 Swift Programozs

    16/19

    1. fejezet: Bevezets az iPhone programozsba

    18

    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 elskiadsa,

    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 aziPhone OS 3.0 jdonsgairl.

    Az egyes verzik funkciinak rszletes lersa a http://en.wikipedia.org/wiki/IPhone_OS_version_history.webhelyen tallhat.

    AZ IPHONE OS 3.0 JDONSGAI2009 jniusban az Apple kiadta az iPhone OS harmadik fbb verzijt egy tovbbfejlesztetteszkzzel: az iPhone 3GS-sel. Az S sebessget jelent: az j eszkz a gyorsabb (600 MHz-es)

    processzornak s az jraoptimalizlt opercis rendszernek ksznheten minden tekintet-ben 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 megkere-sse) 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) klsfelek alkalmazsaihoz,

    Bluetooth-szolgltatsok: A2DP, LDAP, P2P s Bonjour,

    az API lekpezse,

    e-mailek kldse alkalmazsokon bellrl.

  • 7/26/2019 Swift Programozs

    17/19

    Nhny tovbbi hasznos tudnival

    19

    Tesztels tnyleges eszkzkn

    A kezd

    iPhone-programozk egyik leggyakoribb panasza az volt, hogy a sajt eszkz-kn nem tudjk tesztelni a maguk fejlesztette alkalmazsokat. Kiderlt, hogy az Applebiztonsgi okokbl minden alkalmazsnl megkveteli, hogy az rvnyes tanstvnnyalal legyen rva, tovbb a tesztelshez fejleszti tanstvny is szksges.

    Ahhoz, hogy egy tnyleges eszkzn tesztelhessk az alkalmazsunkat, regisztrl-nunk kell az iPhone fejleszti programra (Developer Program), s krvnyeznnk kellegy fejleszti tanstvny teleptst r. Ez hossz folyamat, az E fggelkben rszleteslers tallhat rla.

    KpernyfelbontsA klsre mutats iPhone nagy felbonts kp-ernyvel rendelkezik. A nagyjbl 9 centimtertmrj kperny tmogatja a tbbrintsesmveleteket, mg felbontsa 480 320 kppont,amelyhez 163 ppi (kppont/hvelyk) prosul(lsd az 1.14. brt). Az alkalmazsaink megterve-zsekor figyelni kell arra, hogy a 480 320-askpernyfelbonts ellenre az esetek tbbsg-ben az llapotsor miatt 460 320 kppontra va-gyunk korltozva. Termszetesen az llapotsorprogramozottan is kikapcsolhat, gy hasznlhat-juk a maximlis 480 320-as felbontst.

    Arra is gyelni kell, hogy a felhasznlk el-fordthatjk az eszkzket az alkalmazs fekvtjolshoz. Az ilyen esetekre gy kell mdosta-nunk a felhasznli felletet, hogy az alkalmazsekkor is megfelelen mkdjn tovbb, s el kell

    dntennk, hogy tmogatjuk-e az j tjolst.

    MegjegyzsAkperny forgatsnakkezelsrla6. fejezetben (A kper

    ny forgatsa)leszsz.

    1.14.

    bra

  • 7/26/2019 Swift Programozs

    18/19

    1. fejezet: Bevezets az iPhone programozsba

    20

    Egyablakos alkalmazsok

    Ha mobilra programozunk, s ez mg j terlet a szmunkra, figyelnnk kell arra, hogy akorltozott kpernymret azt jelenti, hogy a mobilplatformok tbbsge csak az egyab-lakos alkalmazsokat tmogatja azaz az alkalmazs ablaka elfoglalja a teljes kpernyt.Ez all a korltozs all az iPhone sem jelent kivtelt. Az asztali gpek opercis rend-szereinl (pldul Mac OS X vagy Windows) a megszokott tfedsben lvablakokat aziPhone nem tmogatja.

    Httrben fut alkalmazsok nlkl

    A mobileszkzk alkalmazsainak programozsakor az egyik nagy kihvst az energia-gazdlkods jelenti. A rosszul megrt alkalmazs nagyon erforrs-ignyes lehet, s gyor-san lemertheti az akkumultort. Az Apple tudatban van ennek a problmnak, ezrt ams platformokon tapasztaltak ttekintse utn arra a kvetkeztetsre jutott, hogy a ht-trben fut alkalmazsok vannak a legrosszabb hatssal a fogyasztsra s a teljestmny-re. Ms platformokon (pldul a Windows Mobile esetben), ha egy alkalmazs eltnikszem ell (pldul egy berkezhvs miatt), akkor is megmarad a memriban, s min-den ilyen httrben fut alkalmazs rontja a teljestmnyt, s fogyasztja az energit.

    Az Apple megoldsa egyszervolt: megtiltottk, hogy az alkalmazsok a httrbenfussanak. Br a megolds hatkony, szmos fejlesztnek nem tetszett. Sok hasznos al-kalmazs megfelelmkdshez mkdnik kell a httrben. A csevegalkalmazsok-nak pldul futniuk kell ahhoz, hogy megkapjk az zeneteket a tbbi felhasznltl. Errea problmra az Apple kifejlesztette a push rtestsi szolgltatst, amely akkor is tadjaaz adatokat az alkalmazsoknak, ha azok ppen nem futnak. Ez a szolgltats az iPhone3.0-val jelent meg. A push technolgival az eszkz folyamatosan csatlakozik az Appleszerverhez 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 informcitazApple iPhone fejlesztikzpontjban tallunk:http://

    developer.apple.com/iphone/index.action.

  • 7/26/2019 Swift Programozs

    19/19

    Nhny tovbbi hasznos tudnival

    21

    Klsfelek alkalmazsaira vonatkoz korltozsok

    Az Apple az iPhone-ra fejleszt

    programozk szmra kirtt egy msik korltozst is,eszerint nem hvhatjuk meg klsfelek alkalmazsait a sajt alkalmazsunkon bellrl.Ezen kvl interpretlt kdot sem futtathatunk az alkalmazsunkbl. Erre j pldt szol-gltat egy webbngszalkalmazs megrsa az iPhone-ra. Mivel az internetes alkalma-zsok ltalban JavaScriptet hasznlnak az gyfloldali tevkenysg vgrehajtsra, ez akorltozs 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 kor-ltot s a klsfelek alkalmazsmeghvsnak a tiltst is. A kvetkezfejezetben ltrehoz-zuk az elsiPhone-alkalmazsunkat, majd belpnk az iPhone-programozs vilgba.

    A FEJEZET TUDNIVALI

    Tma Alapelvek

    Az iPhone SDK beszerzse Regisztrls iPhone-fejlesztknt a http://developer.apple.comwebhelyen s az ingyenes SDK letltse.

    iPhone Simulator A tesztels nagy rsze vgrehajthat az iPhone Simulatoron. mersen javallott egy tnyleges eszkzn is tesztelni.

    Az iPhone Simulator korltai A hardverhez val hozzfrst ltalban nem tmogatja. Ide tartozikpldul a kamera, a gyorsulsmr, a hangrgzts s egyebek.

    Az iPhone SDK keretrendszerei Az iPhone SDK tbb olyan keretrendszert is biztost, amelyek vg-rehajtjk az iPhone bizonyos mkdseit. iPhone-alkalmazsainkatezeknek a keretrendszereknek a hasznlatval rjuk meg.

    Httrben fut alkalmazsok Az iPhone nem tmogatja a klsfelek httrben fut alkalmazsait.

    Kpernyfelbonts 480 320 kppont (elrejtett llapotsorral), 460 320 kppont (lt-hat llapotsorral).

    Egyablakos alkalmazsok Az iPhone-on minden alkalmazs egyablakos, azaz az ablakok kitl-tik a teljes kpernyt, az ablakok tfedse pedig nem lehetsges.