Bevezetés az iphone programozásába



Hasonló dokumentumok
Tartalomjegyzék. I. rész: Bevezetés. A szerzőről... xvii. Köszönetnyilvánítás... xix. Bevezetés... xxi. 1. Bevezetés az iphone programozásába...

MimioMobile Felhasználói kézikönyv. mimio.com

A telepítési útmutató tartalma

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

1. DVNAV letöltése és telepítése

Samsung Universal Print Driver Felhasználói útmutató

Távolléti díj kezelése a Novitax programban

Oktatási cloud használata

Felhasználói útmutató CVR mobil kliens, ios rendszerhez.

Windows 8.1 frissítés, részletes útmutató

SystemDiagnostics. Magyar

A Novitax ügyviteli programrendszer első telepítése

Bluetooth párosítás. Felhasználói útmutató

Ez a felhasználói útmutató a következő modellekre vonatkozik:

KIRA. KIRA rendszer. Telepítési útmutató v1

Kezdő lépések Microsoft Outlook

Tartalom jegyzék 1 BEVEZETŐ SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

Dropbox - online fájltárolás és megosztás

DRÉN & VALNER SZOFTVER KFT 4031 Debrecen, Egyetem sugárút 11/a. 1/5. 52/ , 52/ , 30/

Windows Vista /Windows 7 Telepítési útmutató

MÉRY Android Alkalmazás

Connection Manager - Felhasználói kézikönyv

Apple ID készítése és vásárlás az AppStore áruházban

iseries Client Access Express - Mielőtt elkezdi

Hardver és szoftver követelmények

TERKA Törvényességi Ellenőrzési Rendszer Kiegészítő Alkalmazás

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

Point of View Android 2.3 Tablet Kézikönyv ProTab 2XL

A Via 125, Via 135 és Start 60 Refurbished készülékek frissítése. Hogyan csináld?

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

1. A Windows Vista munkakörnyezete 1

Win 8 változatok. 2. sz. melléklet felnottkepzes@gmail.com. Töltse ki az előzetes tudásszint felmérő dolgozatot!

GIRO GSM MODEM/VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

DRÉN & VALNER SZOFTVER KFT 4031 Debrecen, Egyetem sugárút 11/a. 1/5. 52/ , 52/ , 30/

CJB1JM0LCAPA. Rövid használati utasítás

ivms-4200 kliensszoftver

A szerzőkről... xiii A csapat... xiv Az Online Training Solutions, Inc. (OTSI)... xiv

CareLink Personal telepítési útmutató. Első lépések a CareLink Personal adatfeltöltéshez

OTOsuite. Telepítési útmutató. Magyar

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

A mobil alkalmazás. Felhasználói útmutató - ios

3G185 router Li-ion akkumulátor Usb kábel Telepítési útmutató.

Telepítési Kézikönyv

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

FELHASZNÁLÓI KÉZIKÖNYV. WF-2322 Vezetéknélküli Hozzéférési Pont

Digitális fényképezőgép Szoftver útmutató

ios alkalmazásfejlesztés Koltai Róbert

Nokia N9 - MeeGo Harmattan bemutatkozik

Digitális aláíró program telepítése az ERA rendszeren

Sygic: Voucher Edition for Android telepítése

Felhasználói kézikönyv. AirPrint

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Digitális aláíró program telepítése az ERA rendszeren

A KASPERSKY SECURITY CENTER

Médiatár. Rövid felhasználói kézikönyv

Geotechnika II. (NGB-SE005-2) Geo5 használat

Mobil Partner telepítési és használati útmutató

MAGYAR. Android 4.0 vagy újabb, vagy ios 5.0 vagy újabb operációs rendszerű készülék. WiFi útválasztó.

PolyVision illesztőprogram Kibocsátási megjegyzések 2.2. változat

WIFI elérés beállítása Windows XP tanúsítvánnyal

Messenger. Novell GYORSKALAUZ

National Instruments NI LabVIEW gyakorlati szeminárium: Szoftver telepítési segédlet

A mobil alkalmazás. Felhasználói útmutató - Android

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Használati útmutató a Székács Elemér Szakközépiskola WLAN hálózatához

Protection Service for Business. Az első lépések Windows-számítógépeken

K&H token tanúsítvány megújítás

A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.

EDUROAM wifi beállítás

Kezdő lépések Outlook Web Access

AirPrint útmutató. 0 verzió HUN

1. Használatba vétel. 1.1 Biztonsági előírások. 1.2 Rendszerkövetelmények. 1.3 A csomag tartalma

SAMSUNG SSM-8000 szoftvercsomag

WIFI elérés beállítása Windows 7 Felhasználó azonosítással


Tartalomjegyzék. Előszó... xiii Bevezetés... xv. 1. Ismerkedés a Windows 7-tel Integráció a Windows 7 tálcájával: az alapszolgáltatások...

WIN-TAX programrendszer frissítése

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

FELHASZNÁLÓI ÚTMUTATÓ A. NOKIA PC SUITE 4.51a FOR NOKIA 6510 PROGRAMCSOMAGHOZ. Copyright Nokia Corporation Minden jog fenntartva.

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

Opensuse automatikus telepítése

ALKALMAZÁSOK ISMERTETÉSE

E-Freight beállítási segédlet

Adóbevallás leadása elektronikusan

Hálózati betekint ő program telepítése mobil telefonra. Symbian. alarm shop. Windows mobile Android IPhone Blackberry

Google Cloud Print útmutató

Fontos megjegyzés: Telepítse először az illesztőprogramot, majd csatlakoztassa a VideoCAM ExpressII eszközt az USB porthoz!

13. Tárgymutató. Windows XP alapokon

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

VECTRUM Kft. VECTRUM e-számla Felhasználói útmutató 1.2 verzió

AirPrint útmutató. A Használati útmutató a következő modellekre vonatkozik: MFC-J6520DW/J6720DW/J6920DW. 0 verzió HUN

A P-touch Transfer Manager használata

1. Prestigio MultiPad 2. Tápadapter 3. Hordozótok 4. USB-kábel 5. Rövid használati útmutató 6. Garancialevél 7. Jogi és biztonsági közlemény

SZERVIZ 7. a kreatív rendszerprogram. Telepítési dokumentáció Szerviz7 DEMO alkalmazásokhoz. Verzió: 08/ 2010

F-Secure Biztonsági megoldás. Az első lépések Windows-számítógépeken

Motorola Phone Tools. Első lépések

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

Átírás:

1 Bevezetés az iphone programozásába A FEJEZET FŐBB RÉSZEI A KÖVETKEZŐK: Hogyan szerezhetjük be az iphone SDK-t? Milyen komponenseket tartalmaz az iphone SDK? Milyen funkciókkal rendelkeznek a fejlesztőeszközök: az Xcode, az Interface Builder, az iphone Simulator? Mire képes az iphone Simulator? Hogyan épül fel az iphone OS? Milyen keretrendszerei vannak az iphone SDK-nak? Mik az iphone jellegzetességei és korlátai? Ismerkedjünk meg az iphone-programozás világával. Az, hogy kézbe vettük ezt a könyvet, egyben azt jelenti, hogy érdekel bennünket az iphone-alkalmazások fejlesztése, és csatlakozni szeretnénk ahhoz a több tízezer fejlesztőhöz, akiknek az alkalmazásai már megtalálhatók az AppStore-ban. A régi kínai mondás úgy tartja: a feladatod elvégzéséhez először fend meg a szerszámaidat. A sikeres programozáshoz először is a felhasznált eszközöket kell megismernünk. Ez az iphone-alkalmazások programozására különösen igaz jó pár eszközt meg kell tapasztalnunk ahhoz, hogy egyáltalán elkezdhessük. Így ennek a fejezetnek az a célja, hogy bemutassa azokat a különböző eszközöket, amelyekre a fejlesztéshez szükségünk van.

1. fejezet: Bevezetés az iphone programozásába Az iphone SDK beszerzése Ahhoz, hogy iphone-ra vagy ipod Touchra fejleszthessünk, először regisztrált iphone-fejlesztőnek kell jelentkezünk a http://developer.apple.com/iphone/program/start/register/ webhelyen. A regisztráció ingyenes, és hozzáférést biztosít az iphone SDK-hoz, valamint a kezdéshez szükséges más hasznos eszközökhöz. A regisztráció után letölthetjük az iphone SDK-t (lásd az 1.1. ábrát). 1.1. ábra Az iphone SDK telepítéséhez a következő rendszerkövetelmények szükségesek: Csak Intel-alapú Maceken használható, úgyhogy ha más típusú a processzorunk (például a régi G4 vagy G5 Mac), akkor nincs szerencsénk. A rendszert frissíteni kell a legújabb Mac OS X verzióra. Igencsak hasznos, ha rendelkezünk egy iphone-nal vagy ipod Touchcsal is, bár ez nem szigorú feltétel, az alkalmazásunk teszteléséhez ugyanis használhatjuk az SDK-hoz tartozó iphone Simulatort is. Ha azonban bizonyos hardveres funkciókat (kamera, gyorsulásmérő stb.) szeretnénk tesztelni, akkor egy tényleges eszközre is szükségünk lesz. Ha az SDK letöltése befejeződött, telepítsük (lásd az 1.2. ábrát). El kell fogadnunk néhány licencmegállapodást, majd ki kell választanunk a szoftver telepítési könyvtárát. 4

Az iphone SDK részei 1.2. ábra Ha az alapértelmezett beállításokat használjuk, akkor a telepítés után a /Developer/Applications mappában találjuk meg a különféle eszközöket (lásd az 1.3. ábrát). 1.3. ábra Az iphone SDK részei Az iphone SDK olyan fejlesztőeszközök csoportja, amelyekkel iphone-ra és ipod Touchra fejleszthetünk alkalmazásokat. Tartalma a következő: Xcode integrált fejlesztőkörnyezet (IDE), amely a projektek kezelését, módosítását és hibakeresését teszi lehetővé. 5

1. fejezet: Bevezetés az iphone programozásába Dashcode integrált fejlesztőkörnyezet (IDE), amelyben webalapú iphone-alkalmazásokat és Dashboard-widgeteket fejleszthetünk. A Dashcode-dal nem foglalkozunk ebben a könyvben. iphone Simulator olyan szoftver, amely egy iphone-t szimulál Macen. Interface Builder vizuális szerkesztő az iphone-alkalmazások felhasználói felületének megtervezéséhez. Instruments elemzőeszköz az alkalmazásaink valós idejű optimalizálásához. (A következőkben részletesen is szó lesz ezekről az eszközökről.) Xcode Az iphone SDK összes eszköze tehát a /Developer/Applications mappába van telepítve (az alapértelmezett beállítások használata esetén). Az egyik ezek közül az eszközök közül az Xcode. 1.4. ábra 6

Az iphone SDK részei Az Xcode elindításához kattintsunk duplán az ikonjára (lásd az 1.3. ábrát). Használhatjuk a gyorsabb megoldást, azaz a Spotlightot is: a keresőmezőbe írjuk be, hogy Xcode, és a programnak a legelső pozícióban meg kell jelennie. Miután elindítottuk, megjelenik az üdvözlőképernyő (lásd az 1.4. ábrát). Az Xcode segítségével különféle iphone- és Mac OS X alkalmazásokat fejleszthetünk (lásd az 1.5. ábrát). 1.5. ábra Az Xcode-ban lévő IDE számos olyan eszközt és funkciót biztosít, amelyek jócskán megkönnyítik a dolgunkat. Az egyik ilyen funkció a kódkiegészítés (lásd az 1.6. ábrát), amely megjeleníti az elérhető osztályok és tagok (például metódusok, tulajdonságok stb.) listáját. Megjegyzés A leggyakrabban használt funkciókról a B függelékben találhatunk részletesebb leírást. 7

1. fejezet: Bevezetés az iphone programozásába 1.6. ábra iphone Simulator Az iphone Simulatorral (lásd az 1.7. ábrát), amely az iphone SDK másik igen hasznos eszköze, tesztelhetjük az alkalmazásunkat a saját iphone-unk/ipod Touchunk használata helyett. Az iphone Simulator a /Developer/ iphone OS <version>/platforms/iphonesimulator.platform/developer/applications/ mappában található. Legtöbbször nem kell saját kezűleg elindítanunk, mert ha az Xcode-ban futtatjuk az alkalmazásunkat (vagy ha hibát keresünk), akkor az Xcode automatikusan megteszi helyettünk. Az Xcode emellett automatikusan telepíti az alkalmazást az iphone Simulatorra. 1.7. ábra 8

Az iphone SDK részei AZ IPHONE SIMULATOR NEM EMULÁTOR Az iphone Simulator szimulátor, nem pedig emulátor. A különbség az, hogy a szimulátor megpróbálja egy eszköz működését utánozni. Az iphone Simulator egy iphone tényleges működését szimulálja. A szimulátor maga azonban a Macre telepített különböző könyvtárakat (például a QuickTime-ot) használja a különböző dolgok megjelenítésére azért, hogy ezek ugyanúgy nézzenek ki, mint egy igazi iphone-on. A szimulátoron tesztelt alkalmazások emellett le vannak fordítva x86 kódra. Ez a kód egy, a szimulátor által megértett byte-kód. Az emulátor ezzel szemben emulálja egy eszköz működését. Az emulátorokon tesztelt alkalmazások az adott eszköz által használt tényleges byte-kódra vannak lefordítva. Az emulátor úgy futtatja az alkalmazást, hogy a byte-kódot lefordítja egy olyan formára, amelyet az emulátort futtató gazdaszámítógép képes végrehajtani. Egy egyszerű példa a szimuláció és az emuláció közti különbség érzékeltetésére: képzeljük el, hogy megpróbálunk meggyőzni egy gyereket arról, hogy veszélyes dolog késekkel játszani. Ennek szimulálására úgy teszünk, mintha megvágnánk magunkat egy késsel. Ha emulálni szeretnénk, akkor fogunk egy kést, és tényleg megvágjuk magunkat. Az iphone Simulator képes az iphone OS különböző verzióinak a szimulálására (lásd az 1.8. ábrát). Ez a képessége nagyon hasznos akkor, ha a platform régebbi verzióin is szeretnénk elérhetővé tenni az alkalmazásunkat, emellett jól jön teszteléshez, valamint a különböző verziókon futtatott példányok hibajelentéseinek a hibakereséséhez is. 1.8. ábra Mire képes az iphone Simulator? Az iphone Simulator az iphone-ok és az ipod Touchok különböző funkcióit szimulálja. Ezek közé tartoznak a következők: a képernyő forgatása balra, fölfelé és jobbra; a gesztusok támogatása: érintés, 9

1. fejezet: Bevezetés az iphone programozásába érintés és nyomva tartás, dupla érintés, csúsztatás, lapozás, húzás, csíptetés; kevés a memória figyelmeztetések szimulálása. Az iphone Simulatornak, lévén egy eszköz szoftveres szimulátora, megvannak a maga korlátai. A nem érhetők el a következő funkciók: helyzeti információ lekérése egy állandó koordinátát jelenít csak meg, például északi szélesség 37,3317 és nyugati hosszúság 122,0307, híváskezdeményezés, a gyorsulásmérő használata, SMS-ek küldése és fogadása, alkalmazások telepítése az AppStore-ból, kamera, mikrofon, az OpenGL ES számos funkciója. Az iphone Simulator sebessége nagyban függ a Macünk teljesítményétől, szemben az eszköz valódi teljesítményével. Ezért fontos az alkalmazásunkat letesztelni egy igazi eszközön, és nem érdemes kizárólag az iphone Simulatorra támaszkodni a tesztelésben. Bár az iphone Simulatornak vannak korlátai, mindenképpen hasznos eszköz az alkalmazásaink teszteléséhez. Ám az alkalmazást kötelező tesztelni egy igazi iphone-on vagy ipod Touchon, mielőtt közzétehetnénk az AppStore-ban. Megjegyzés Az E függelékben találunk egy részletes leírást arról, hogyan tesztelhetjük az alkalmazásunkat igazi eszközön. 10

Alkalmazások eltávolítása az iphone Simulatorból Az iphone SDK részei Az iphone Simulator iphone OS fájlrendszerének felhasználói tartománya a ~/Library/ Application Support/iPhone Simulator/User/ mappában található. Megjegyzés A ~/Library/Application Support/iPhone Simulator/User/ mappa másik neve: <iphoneuserdomain>. A külső felek összes alkalmazását az <iphoneuserdomain>/applications/ mappában tárolja a rendszer. Amikor telepítünk egy alkalmazást az iphone Simulatorra, létrejön egy ikon a kezdőképernyőn (lásd az 1.9. ábra bal oldalán), és létrejön egy fájl és egy mappa az Applications mappában (lásd az 1.9. ábra jobb oldalán). 1.9. ábra Az alkalmazások eltávolításához (törléséhez) kövessük az alábbi lépéseket: 1. Kattintsunk rá az alkalmazás ikonjára a kezdőképernyőn, és tartsuk lenyomva addig, amíg el nem kezd rezegni. Minden ikon bal felső sarkában megjelenik egy x gomb. 2. Kattintsunk az eltávolítandó alkalmazás ikonja melletti x gombra (lásd az 1.10. ábrát). 3. Megjelenik egy figyelmeztetőablak, amely megkérdezi, hogy biztosan törölni akarjuk-e az ikont. A törlés megerősítéséhez kattintsunk a Delete (törlés) gombra. 1.10. ábra Figyelmeztetés Az alkalmazás eltávolításakor a rendszer automatikusan törli az Applications mappában lévő megfelelő fájlt és mappát is. 11

1. fejezet: Bevezetés az iphone programozásába Az iphone Simulator alaphelyzetbe állításának legegyszerűbb módja az, ha az iphone Simulator Reset Content and Settings (iphone Simulator beállítások és tartalmak törlése) menüpontra kattintunk. Interface Builder Az Interface Builder egy olyan vizuális szerkesztő, amely lehetővé teszi az iphone-alkalmazások felhasználói felületének megtervezését. Az Interface Builder használatakor nézeteket kell ablakokba húzni, majd a különböző nézeteket kivezetésekkel és műveletekkel kell összekapcsolni, hogy azok programozottan együttműködjenek a programkódunkkal. Megjegyzés A kivezetésekről és a műveletekről a 3. fejezetben (Kivezetések, műveletek és nézetvezérlők) található részletes leírás. Az 1.11. ábra az Interface Builder különböző ablakait mutatja be. (A C függelékben lásd az Interface Buildert részletesebben.) Instruments Az Instruments alkalmazás (lásd az 1.12. ábrát) lehetővé teszi a Mac OS X és iphonealkalmazásaink teljesítményének dinamikus nyomon követését és profiljaik elkészítését. Az Instruments használatával: stressztesztet hajthatunk végre az alkalmazásainkon, megkereshetjük a memóriaszivárgásokat az alkalmazásainkban, alapos áttekintést kapunk alkalmazásaink viselkedéséről a futtatásuk során, nyomon követhetjük az alkalmazásainkban lévő, nehezen reprodukálható problémákat. Megjegyzés Az Instruments alkalmazást nem tárgyaljuk ebben a könyvben. További információt az Apple dokumentációjában találhatunk. 12

Az iphone SDK részei 1.11. ábra 1.12. ábra 13

1. fejezet: Bevezetés az iphone programozásába Az iphone OS felépítése Bár a könyvnek nem célja, hogy az iphone OS belső felépítésével foglalkozzon, néhány fontos elemét azonban érdemes megismerni. Az 1.13. ábra a Mac OS X-et és az iphone OS-t alkotó különböző absztrakciós rétegeket mutatja be. 1.13. ábra Megjegyzés Az iphone OS felépítése nagyon hasonlít a Mac OS X ére, ám abban különböznek, hogy az előbbinek a Cocoa Touch, utóbbinak pedig a Cocoa keretrendszer a legfelső rétege. A legalsó réteg a Core OS, amely az operációs rendszer alapja (magja). Ez felel a memóriakezelésért, a fájlrendszerért, a hálózati kapcsolatokért és az operációs rendszer más feladataiért, valamint ez tartja a közvetlen kapcsolatot a hardverelemekkel. A Core OS réteg összetevői a következők: OS X kernel, Mach 3.0, BSD, socketek, biztonság, energiagazdálkodás, kulcskezelés (keychain), tanúsítványok, fájlrendszer, Bonjour. 14

Az iphone OS felépítése A Core Services (alapvető szolgáltatások) rétege biztosítja az alapszintű hozzáférést az iphone OS szolgáltatásaihoz. Ez biztosítja a Core OS rétegben lévő szolgáltatások absztrahálásának a lehetőségét. A Core Services réteg az alábbi komponensekből áll: gyűjtemények (collections), címtár, hálózatkezelés, fájlok elérése, SQLite, Core Location, internetes szolgáltatások, szálkezelés, beállítások, URL segédprogramok. A Media réteg az iphone-alkalmazásokban használható multimédiás szolgáltatásokat biztosítja. Összetevői a következők: Core Audio, OpenGL, hangkeverés, hangfelvétel, videolejátszás, JPG, PNG, TIFF, PDF, Quartz, Core Animation, OpenGL ES. A Cocoa Touch egy olyan absztrakciós réteg, amely különböző könyvtárakat biztosít az iphone és az ipod Touch programozásához; például: 15

1. fejezet: Bevezetés az iphone programozásába többérintéses események, többérintéses vezérlőelemek, gyorsulásmérő, nézethierarchia, lokalizáció, figyelmeztetések, webnézetek, kapcsolatválasztó (People Picker), képválasztó (Image Picker), vezérlők. Az iphone SDK az 1.1. táblázatban látható, funkció szerint csoportosított keretrendszereket tartalmazza. Megjegyzés A keretrendszer olyan szoftverkönyvtár, amely bizonyos funkciókat biztosít. 1.1. táblázat. Az iphone SDK keretrendszerei Keretrendszer neve AddressBook.framework AddressBookUI.framework AudioToolbox.framework AudioUnit.framework AVFoundation.framework CFNetwork.framework CoreAudio.framework CoreData.framework Leírás Hozzáférést biztosít a felhasználó névjegyeit tartalmazó központi adatbázishoz. Az Address Book alkalmazás adatbázisában tárolt névjegyek megjelenítéséhez szükséges felhasználói felületet biztosítja. Alacsony szintű C API-kat biztosít hangok felvételére és lejátszására, valamint az audio-hardverkezelésre. Az iphone OS által biztosított hangfeldolgozó plug-inek interfészét szolgáltatja az alkalmazásunkhoz. Alacsony szintű C API-kat biztosít hangok felvételére és lejátszására, valamint az audio-hardverkezelésre. Segít a hálózati szolgáltatások és konfigurációk (pl. HTTP-, FTP- és Bonjour-szolgáltatások) elérésében. Deklarálja a többi Core Audio interfész által használt adattípusokat és állandókat. Általános megoldást biztosít az objektumábrázolás kezelésére az alkalmazásunkban. 16

Néhány további hasznos tudnivaló Keretrendszer neve CoreFoundation.framework CoreGraphics.framework CoreLocation.framework ExternalAccessory.framework Foundation.framework GameKit.framework IOKit.framework MapKit.framework MediaPlayer.framework MessageUI.framework MobileCoreServices.framework OpenAL.framework OpenGLES.framework QuartzCore.framework Security.framework StoreKit.framework SystemConfiguration.framework UIKit.framework Leírás Absztrahálja a gyakori adattípusokat, az Unicode-sztringeket, az XML-t, az URL-eket stb. C-alapú API-kat tartalmaz 2D-s megjelenítéshez; a Quartz rajzolómotoron alapszik. Helyalapú adatokat szolgáltat GPS, cellaazonosító és wifi hálózatok alapján. Lehetőséget nyújt a készülék külső tartozékaival való kommunikálásra. Az Objective C alaposztályait (pl. NSObject), alapvető adatfajtáit, az operációs rendszer szolgáltatásait stb. biztosítja. Hálózatkezelési képességgel ruházza fel a játékokat; gyakran használják peer-to-peer kapcsolatokhoz és a játékban történő beszédhez. Driverfejlesztést tesz lehetővé. Térképkezelő felületet ágyaz be az alkalmazásba. Lehetőséget nyújt video- és hangfájlok lejátszására. Nézetvezérlő-alapú kezelőfelületet biztosít e-mailek írásához. Hozzáférést biztosít a szabványos típusokhoz és állandókhoz. Implementálja az OpenAL specifikációt. Az OpenGL API részeiből összeállított kompakt és hatékony készlet 2D-s és 3D-s rajzoláshoz. Lehetővé teszi animációk és effektusok beállítását, majd ezek hardveres megjelenítését. Lehetővé teszi az adatok biztosítását és a szoftverhez való hozzáférés vezérlését. Támogatja az alkalmazáson belül történő vásárlást. Segít a hálózat rendelkezésre állásának és az eszköz állapotának megállapításában. Tartalmazza az alkalmazások felhasználói felületének kezeléséhez használatos alapvető objektumokat. Néhány további hasznos tudnivaló A fentiekben átfogó képet kaptunk az iphone-alkalmazások fejlesztésekor használható eszközökről. A következőben áttekintünk néhány olyan hasznos információt, amelyek megkönnyíthetik a dolgunkat. 17

1. fejezet: Bevezetés az iphone programozásába Az iphone OS verziói Jelen könyv írásakor az iphone OS a harmadik kiadásánál azaz a 3.0-s verziónál tart. Az iphone OS-t többször átdolgozták, a főbb verziók a következők: 1.0 az iphone első kiadása, 1.1 további funkciók és az 1.0 néhány programhibájának javítása, 2.0 az iphone 3G-s kiadása; az AppStore-t is tartalmazza, 2.1 további funkciók és a 2.0 néhány programhibájának javítása, 2.2 további funkciók és a 2.1 néhány programhibájának javítása, 3.0 az iphone OS harmadik főbb kiadása; a következő részben lesz szó az iphone OS 3.0 újdonságairól. Az egyes verziók funkcióinak részletes leírása a http://en.wikipedia.org/wiki/iphone_ OS_version_history. webhelyen található. AZ IPHONE OS 3.0 ÚJDONSÁGAI 2009 júniusában az Apple kiadta az iphone OS harmadik főbb verzióját egy továbbfejlesztett eszközzel: az iphone 3GS-sel. Az S sebességet jelent: az új eszköz a gyorsabb (600 MHz-es) processzornak és az újraoptimalizált operációs rendszernek köszönhetően minden tekintetben gyorsabb volt, mint elődei. Az iphone OS 3.0 néhány fontosabb új funkciója a következő: hangalapú aktiválás, továbbfejlesztett kamera (3 MP, autofókusz) és videó rögzítésének a lehetősége, az iphone helyének meghatározása a Find My iphone (saját iphone-om megkeresése) funkció segítségével (MobileMe fiók szükséges hozzá), MMS és megosztás támogatása (a szolgáltatónak is támogatnia kell), kivágás, másolás és beillesztés támogatása, új fejlesztői API-k: Push értesítések (notifications) külső felek alkalmazásaihoz, Bluetooth-szolgáltatások: A2DP, LDAP, P2P és Bonjour, az API leképezése, e-mailek küldése alkalmazásokon belülről. 18

Néhány további hasznos tudnivaló Tesztelés tényleges eszközökön A kezdő iphone-programozók egyik leggyakoribb panasza az volt, hogy a saját eszközükön nem tudják tesztelni a maguk fejlesztette alkalmazásokat. Kiderült, hogy az Apple biztonsági okokból minden alkalmazásnál megköveteli, hogy az érvényes tanúsítvánnyal alá legyen írva, továbbá a teszteléshez fejlesztői tanúsítvány is szükséges. Ahhoz, hogy egy tényleges eszközön tesztelhessük az alkalmazásunkat, regisztrálnunk kell az iphone fejlesztői programra (Developer Program), és kérvényeznünk kell egy fejlesztői tanúsítvány telepítését rá. Ez hosszú folyamat, az E függelékben részletes leírás található róla. Képernyőfelbontás A külsőre mutatós iphone nagy felbontású képernyővel rendelkezik. A nagyjából 9 centiméter átmérőjű képernyő támogatja a többérintéses műveleteket, míg felbontása 480 320 képpont, amelyhez 163 ppi (képpont/hüvelyk) párosul (lásd az 1.14. ábrát). Az alkalmazásaink megtervezésekor figyelni kell arra, hogy a 480 320-as képernyőfelbontás ellenére az esetek többségében az állapotsor miatt 460 320 képpontra vagyunk korlátozva. Természetesen az állapotsor programozottan is kikapcsolható, így használhatjuk a maximális 480 320-as felbontást. Arra is ügyelni kell, hogy a felhasználók elfordíthatják az eszközüket az alkalmazás fekvő tájolásához. Az ilyen esetekre úgy kell módosítanunk a felhasználói felületet, hogy az alkalmazás ekkor is megfelelően működjön tovább, és el kell döntenünk, hogy támogatjuk-e az új tájolást. 1.14. ábra Megjegyzés A képernyő forgatásának kezeléséről a 6. fejezetben (A képernyő forgatása) lesz szó. 19

1. fejezet: Bevezetés az iphone programozásába Egyablakos alkalmazások Ha mobilra programozunk, és ez még új terület a számunkra, figyelnünk kell arra, hogy a korlátozott képernyőméret azt jelenti, hogy a mobilplatformok többsége csak az egyablakos alkalmazásokat támogatja azaz az alkalmazás ablaka elfoglalja a teljes képernyőt. Ez alól a korlátozás alól az iphone sem jelent kivételt. Az asztali gépek operációs rendszereinél (például Mac OS X vagy Windows) a megszokott átfedésben lévő ablakokat az iphone nem támogatja. Háttérben futó alkalmazások nélkül A mobileszközök alkalmazásainak programozásakor az egyik nagy kihívást az energiagazdálkodás jelenti. A rosszul megírt alkalmazás nagyon erőforrás-igényes lehet, és gyorsan lemerítheti az akkumulátort. Az Apple tudatában van ennek a problémának, ezért a más platformokon tapasztaltak áttekintése után arra a következtetésre jutott, hogy a háttérben futó alkalmazások vannak a legrosszabb hatással a fogyasztásra és a teljesítményre. Más platformokon (például a Windows Mobile esetében), ha egy alkalmazás eltűnik szem elől (például egy beérkező hívás miatt), akkor is megmarad a memóriában, és minden ilyen háttérben futó alkalmazás rontja a teljesítményt, és fogyasztja az energiát. Az Apple megoldása egyszerű volt: megtiltották, hogy az alkalmazások a háttérben fussanak. Bár a megoldás hatékony, számos fejlesztőnek nem tetszett. Sok hasznos alkalmazás megfelelő működéséhez működniük kell a háttérben. A csevegőalkalmazásoknak például futniuk kell ahhoz, hogy megkapják az üzeneteket a többi felhasználótól. Erre a problémára az Apple kifejlesztette a push értesítési szolgáltatást, amely akkor is átadja az adatokat az alkalmazásoknak, ha azok éppen nem futnak. Ez a szolgáltatás az iphone 3.0-val jelent meg. A push technológiával az eszköz folyamatosan csatlakozik az Apple szerveréhez egy IP-alapú kapcsolaton keresztül. Amikor az eszköznek figyelnie kell, az Apple szervere küld egy értesítést, így jelez az eszközt kiszolgáló alkalmazásnak. Megjegyzés A push értesítéssel nem foglalkozunk ebben a könyvben. További információt az Apple iphone fejlesztői központjában találunk: http:// developer.apple.com/iphone/index.action. 20

Néhány további hasznos tudnivaló Külső felek alkalmazásaira vonatkozó korlátozások Az Apple az iphone-ra fejlesztő programozók számára kirótt egy másik korlátozást is, eszerint nem hívhatjuk meg külső felek alkalmazásait a saját alkalmazásunkon belülről. Ezen kívül interpretált kódot sem futtathatunk az alkalmazásunkból. Erre jó példát szolgáltat egy webböngésző alkalmazás megírása az iphone-ra. Mivel az internetes alkalmazások általában JavaScriptet használnak az ügyféloldali tevékenység végrehajtására, ez a korlátozás azt jelenti, hogy az alkalmazásunkban nem futtathatunk JavaScript-kódot. ÖSSZEFOGLALÁS A fejezetben érintőlegesen áttekintettük az iphone-alkalmazások fejlesztéséhez használható eszközöket. Megismertük az iphone néhány jellegzetességét, például az egyalkalmazásos korlátot és a külső felek alkalmazásmeghívásának a tiltását is. A következő fejezetben létrehozzuk az első iphone-alkalmazásunkat, majd belépünk az iphone-programozás világába. A FEJEZET TUDNIVALÓI Téma Az iphone SDK beszerzése iphone Simulator Az iphone Simulator korlátai Az iphone SDK keretrendszerei Háttérben futó alkalmazások Képernyőfelbontás Egyablakos alkalmazások Alapelvek Regisztrálás iphone-fejlesztőként a http://developer.apple.com webhelyen és az ingyenes SDK letöltése. A tesztelés nagy része végrehajtható az iphone Simulatoron. Ám erősen javallott egy tényleges eszközön is tesztelni. A hardverhez való hozzáférést általában nem támogatja. Ide tartozik például a kamera, a gyorsulásmérő, a hangrögzítés és egyebek. Az iphone SDK több olyan keretrendszert is biztosít, amelyek végrehajtják az iphone bizonyos működéseit. iphone-alkalmazásainkat ezeknek a keretrendszereknek a használatával írjuk meg. Az iphone nem támogatja a külső felek háttérben futó alkalmazásait. 480 320 képpont (elrejtett állapotsorral), 460 320 képpont (látható állapotsorral). Az iphone-on minden alkalmazás egyablakos, azaz az ablakok kitöltik a teljes képernyőt, az ablakok átfedése pedig nem lehetséges. 21