, s nímž je spárován. 5 Vyberte příkaz File (Soubor) > Export Items (Exportovat položky). 6 Klíč uložte do formátu souborů pro výměnu osobních informací (.p12). 7 Zobrazí se výzva k vytvoření hesla, které bude použito při pokusu o import tohoto klíče do jiného počítače.
Převod certifikátu vývojáře od společnosti Apple do souboru P12 v systému Windows Při vývoji aplikací pro zařízení iPhone pomocí aplikace Flash CS5 je třeba používat soubor certifikátu P12. Tento certifikát vytvoříte na základě souboru certifikátu vývojáře pro zařízení Apple iPhone získaného od společnosti Apple. 1 Převeďte soubor certifikátu vývojáře od společnosti Apple na soubor certifikátu PEM. Spusťte ze složky bin
softwaru OpenSSL následující příkaz příkazového řádku: openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM
2 Pokud používáte soukromý klíč z řetězce klíčů v počítači Macintosh, převeďte tento klíč na klíč PEM: openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem
3 Na základě tohoto klíče a verze PEM certifikátu vývojáře pro zařízení iPhone můžete nyní vygenerovat platný
soubor P12: openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12
Pokud používáte klíč z řetězce klíčů systémů MacOS, použijte verzi PEM, kterou jste vygenerovali v předchozím kroku. V opačném případě použijte dříve vygenerovaný klíč OpenSSL (v systému Windows).
Poslední aktualizace 12.5.2011
8
PACKAGER FOR IPHONE Začínáme s tvorbou aplikací AIR pro zařízení iPhone
Správa certifikátů, ID zařízení, ID aplikací a prováděcích profilů Certifikáty, ID zařízení, ID aplikací a prováděcí profily lze spravovat na webu Apple iPhone Dev Center (http://developer.apple.com/iphone/). Přejděte k části tohoto webu zvané portál iPhone Developer Program Portal.
• Klepnutím na odkaz Certificates (Certifikáty) můžete spravovat vývojové certifikáty. Certifikát je možné vytvořit, stáhnout nebo odvolat. Chcete-li vytvořit certifikát, je třeba nejdříve vytvořit podpisovou žádost certifikátu. Viz část „Vytvoření podpisové žádosti certifikátu“ na stránce 6.
• Klepnutím na odkaz Devices (Zařízení) můžete spravovat seznam zařízení, ve kterých může být nainstalována vámi vyvinutá aplikace.
• Klepnutím na odkaz App IDs (ID aplikací) můžete spravovat ID aplikací. Když vytvoříte prováděcí profil, je spojen s ID aplikace.
• Klepnutím na odkaz Provisioning (Provádění) můžete spravovat prováděcí profily. K vytvoření prováděcích profilů vývoje lze rovněž použít nástroj Development Provisioning Assistant.
• Chcete-li odeslat aplikaci do obchodu App Store nebo vytvořit verzi ad hoc aplikace, klepněte na odkaz Distribution (Distribuce). Tato část obsahuje odkaz na web iTunes Connect, který použijete k odeslání aplikace do obchodu App Store.
Vytvoření aplikace Hello World pro zařízení iPhone pomocí aplikace Flash Professional CS5 Důležité: Požadované aplikace a soubory pro vývojáře stáhněte ještě před vytvořením aplikace. Další informace naleznete v částech „Získání nástrojů pro návrháře od společnosti Adobe“ na stránce 4 a „Získání souborů pro vývojáře od společnosti Apple“ na stránce 4.
Vytvoření projektu aplikace Flash Professional CS5 Aplikaci pro zařízení iPhone lze vygenerovat přímo v aplikaci Flash Professional CS5: 1 Spusťte aplikaci Flash CS5. 2 Vyberte příkaz Soubor > Nový. 3 Vyberte možnost Zařízení iPhone. 4 Klepněte na tlačítko OK.
Přidání obsahu do aplikace V dalším kroku přidejte text „Hello world!“ do aplikace: 1 Vyberte textový nástroj a klepněte na plochu. 2 V nastavení Vlastnosti tohoto textového pole vyberte volbu Klasický text (ne volbu Text TLF).
Protože se jedná o jednoduchou aplikaci, je volba Klasický text dostačující. Chcete-li použít text TLF, je třeba aplikovat některá další nastavení. Další informace naleznete v části „Písma a zadávání textu“ na stránce 39. 3 Do nového textového pole zadejte výraz „Hello world!“. 4 Textové pole vyberte nástrojem pro výběr.
Poslední aktualizace 12.5.2011
9
PACKAGER FOR IPHONE Začínáme s tvorbou aplikací AIR pro zařízení iPhone
5 Poté otevřete Inspektor vlastností a proveďte následující nastavení:
• Znak > Řada: _sans • Znak > Velikost: 50 • Poloha > X: 20 • Poloha > Y: 20 6 Uložte soubor. 7 Vyberte položky Ovládání > Testovat film > V aplikaci AIR Debug Launcher (pro mobilní zařízení).
Aplikace Flash Professional CS5 zkompiluje obsah SWF a zobrazí v aplikaci AIR Debug Launcher (ADL) verzi aplikace. Tak získáte rychlý náhled aplikace.
Vytvoření obrazu ikony a úvodní obrazovky pro aplikaci Všechny aplikace pro zařízení iPhone obsahují ikony, které budou zobrazeny na uživatelském rozhraní aplikace iTunes i na obrazovce zařízení iPhone. 1 Vytvořte pod složkou projektu složku s názvem icons (Ikony). 2 Ve složce ikon vytvořte tři soubory PNG. Pojmenujte je icon29.png, icon57.png a icon512.png. 3 Tyto soubory PNG upravte a vytvořte pro svou aplikaci příslušné obrazy. Je třeba, aby soubory měly velikost 29 x
29 obr. bodů, 57 x 57 obr. bodů a 512 x 512 obr. bodů. V rámci tohoto testu můžete obrazy jednoduše nahradit plnobarevnými čtverci. Všechny aplikace pro zařízení iPhone při načítání aplikace do zařízení iPhone zobrazují počáteční obraz. Počáteční obraz definujte jako soubor PNG: 1 V hlavní vývojové složce vytvořte soubor PNG s názvem Default.png. (Tento soubor neumísťujte do podsložky
ikon. Je nezbytné, abyste jako název souboru použili výraz „Default“, kde „D“ bude velké písmeno.) 2 Rozměry souboru upravte na šířku 320 obr. bodů a výšku 480 obr. bodů. Obsahem může být zatím prostý bílý
obdélník. (To změníme později.) Poznámka: Při odeslání aplikace do obchodu App Store společnosti Apple použijete u souboru s 512 obr. body verzi ve formátu JPEG (a nikoli verzi ve formátu PNG). Verze ve formátu PNG slouží k testování vývojových verzí aplikace. Podrobné informace o těchto grafikách naleznete v části „Ikony a obrazy na úvodní obrazovce zařízení iPhone“ na stránce 13..
Úprava nastavení aplikace Důležité: Pokud jste tak ještě neučinili, stáhněte soubory a aplikace pro vývojáře určené k vývoji pro zařízení iPhone. Další informace naleznete v části „Získání souborů pro vývojáře od společnosti Apple“ na stránce 4. V dialogovém okně Nastavení zařízení iPhone aplikace Flash Professional CS5 můžete definovat širokou řadu základních vlastností aplikace pro zařízení iPhone. 1 Vyberte příkaz Soubor > Nastavení OS zařízení iPhone. 2 Na záložce Všeobecné proveďte následující nastavení:
• Výstupní soubor: HelloWorld.ipa Toto je název souboru instalátoru zařízení iPhone, který bude vygenerován.
• Název aplikace: Hello World
Poslední aktualizace 12.5.2011
10
PACKAGER FOR IPHONE Začínáme s tvorbou aplikací AIR pro zařízení iPhone
Tento název aplikace bude v zařízení iPhone zobrazován pod ikonou aplikace.
• Verze: 1.0 Verze aplikace.
• Poměr stran: na výšku • Celá obrazovka: Vyberte volbu. • Automatická orientace: Zrušte výběr volby. • Vykreslení: CPU Ostatní možnosti (GPU a Automaticky) používají k vykreslení hardwarovou akceleraci. Tato funkce pomáhá zvýšit výkon při spouštění graficky náročných aplikací (např. her) navržených za účelem využití výhod hardwarové akcelerace. Další informace naleznete v části „Hardwarová akcelerace“ na stránce 36.
• Obsažené soubory: Přidejte grafický soubor úvodní obrazovky (Default.png) do seznamu Obsažené soubory. Poznámka: U této vzorové aplikace Hello World neměňte nastavení uvedené v těchto pokynech. Některá nastavení, např. nastavení Verze, mají určitá omezení. Tato omezení jsou popsána v části „Nastavení aplikace pro zařízení iPhone“ na stránce 15. 3 Na záložce Nasazení proveďte následující nastavení:
• Certifikát: Přejděte k certifikátu .p12 založeném na certifikátu vývojáře od společnosti Apple a tento certifikát vyberte. Tento certifikát bude použitý k podpisu souboru. Certifikát zařízení Apple iPhone je třeba převést do formátu .p12. Další informace naleznete v části „Získání nástrojů pro návrháře od společnosti Adobe“ na stránce 4.
• Heslo: Zadejte pro certifikát heslo. • Prováděcí soubor: Přejděte k prováděcímu souboru vývojáře od společnosti Apple a tento soubor vyberte. Další informace naleznete v části „Získání souborů pro vývojáře od společnosti Apple“ na stránce 4.
• ID aplikace: Pokud lze toto pole vybrat, můžete zadat ID aplikace, které odpovídá ID aplikace od společnosti Apple (jako je například ID com.example.as3.HelloWorld). ID aplikace představuje jedinečné označení aplikace. Pokud toto pole nelze vybrat, je prováděcí profil svázán s konkrétním ID aplikace. V poli bude zobrazeno ID aplikace. Podrobnosti týkající se určení ID aplikace naleznete v oddílu „Záložka nasazení“ části „Nastavení vlastností aplikace pro zařízení iPhone v aplikaci Flash Professional CS5“ na stránce 15. 4 Na záložce Ikony klepněte v seznamu ikon na položku Ikona 29 x 29. Poté určete umístění dříve vytvořeného
souboru PNG o velikosti 29 x 29 obrazových bodů. (Další informace naleznete v části „Vytvoření obrazu ikony a úvodní obrazovky pro aplikaci“ na stránce 9). Následně určete soubory PNG pro ikony o velikosti 57 x 57 a 512 x 512 obrazových bodů. 5 Klepněte na tlačítko OK. 6 Uložte soubor.
Podrobnosti týkající se nastavení aplikace naleznete v části „Nastavení aplikace pro zařízení iPhone“ na stránce 15.
Poslední aktualizace 12.5.2011
11
PACKAGER FOR IPHONE Začínáme s tvorbou aplikací AIR pro zařízení iPhone
Kompilace souboru IPA Nyní můžete zkompilovat soubor instalátoru IPA: 1 Vyberte příkaz Soubor > Publikovat. 2 V dialogovém okně Nastavení zařízení iPhone klepněte na tlačítko OK.
Software Packager pro iPhone vygeneruje soubor instalátoru aplikace pro zařízení iPhone (soubor HelloWorld.ipa) do složky projektu. Kompilace souboru IPA může několik minut trvat.
Instalace aplikace do zařízení iPhone Postup instalace aplikace pro zařízení iPhone pro účely testování v zařízení iPhone: 1 Otevřete aplikaci iTunes. 2 Pokud jste tak ještě neučinili, přidejte do aplikace iTunes prováděcí soubor pro svou aplikaci. V aplikaci iTunes
vyberte položky File (Soubor) > Add to Library (Přidat do knihovny). Vyberte soubor prováděcího profilu (bude označen jako typ souboru .mobileprovision). K testování aplikace v zařízení iPhone vývojáře zatím používejte vývojový prováděcí profil. Až budete později aplikaci distribuovat do obchodu iTunes Store, použijte distribuční profil. Chcete-li aplikaci distribuovat ad hoc (do více různých zařízení a bez obchodu iTunes Store), použijte ad hoc prováděcí profil. Další informace týkající se prováděcích profilů naleznete v části „Získání souborů pro vývojáře od společnosti Apple“ na stránce 4. 3 Některé verze aplikace iTunes aplikaci nenahradí, pokud je již nainstalována stejná verze aplikace. V takovém
případě svou aplikaci odstraňte ze zařízení i ze seznamu aplikací v aplikaci iTunes. 4 Poklepejte na soubor IPA aplikace. Aplikace by měla být zobrazena v seznamu aplikací. 5 Připojte zařízení iPhone k portu USB v počítači. 6 V aplikaci iTunes vyhledejte zařízení na záložce Application (Aplikace) a ujistěte se, že je aplikace vybrána v
seznamu aplikací určených k instalaci. 7 Vyberte zařízení v levém seznamu aplikace iTunes. Poté klepněte na tlačítko Sync (Synchronizovat). Aplikace Hello
World se po dokončení synchronizace objeví v zařízení iPhone. Pokud není nová verze nainstalována, odstraňte ji ze zařízení iPhone i ze seznamu aplikací v aplikaci iTunes a následně celý tento postup opakujte. K této situaci může dojít, pokud aktuálně nainstalovaná verze používá stejné ID i verzi aplikace. Pokud při pokusu o instalaci aplikace zobrazí aplikace iTunes chybu, nahlédněte do oddílu „Řešení potíží s instalací aplikace“ v části „Instalace aplikace pro zařízení iPhone“ na stránce 23.
Úprava grafiky úvodní obrazovky Před zkompilováním aplikace jste vytvořili soubor Default.png. (Další informace naleznete v části „Vytvoření obrazu ikony a úvodní obrazovky pro aplikaci“ na stránce 9. Tento soubor PNG slouží jako počáteční obraz během načítání aplikace. Možná jste si během testování aplikace v zařízení iPhone všimli při spouštění této prázdné obrazovky. Tento obraz doporučujeme změnit tak, aby odpovídal úvodní obrazovce aplikace („Hello World!“).: 1 Spusťte v zařízení aplikaci. Až bude poprvé zobrazen text „Hello World“, stiskněte a podržte tlačítko Domů pod
obrazovkou. Stále držte tlačítko Domů a stiskněte v horní části zařízení iPhone tlačítko Napájení/režim spánku. Tímto postupem pořídíte snímek obrazovky a odešlete jej do složky Camera Roll.
Poslední aktualizace 12.5.2011
12
PACKAGER FOR IPHONE Začínáme s tvorbou aplikací AIR pro zařízení iPhone
2 Obraz převeďte do vývojového počítače. Použijte k tomu převod fotografií z aplikace iPhoto nebo jiné aplikace
umožňující převod fotografií. (V sytému MacOS můžete také použít aplikaci Image Capture.) Stejně tak můžete fotografii do vývojového počítače odeslat e-mailem:
• Otevřete aplikaci Photos (Fotografie). • Otevřete složku Camera Roll. • Otevřete zachycený snímek obrazovky. • Poklepejte na obraz a poté poklepejte v levém dolním rohu na tlačítko (šipku) vpřed. Poté klepněte na tlačítko Email Photo (Odeslat fotografii e-mailem) a odešlete obraz sami sobě. 3 Soubor Default.png (ve vývojové složce) nahraďte verzí obrazu zachycené obrazovky ve formátu PNG. 4 Znovu aplikaci zkompilujte (další informace naleznete v části „Kompilace souboru IPA“ na stránce 11) a aplikaci v
zařízení iPhone přeinstalujte. Aplikace bude nyní během načítání používat novou úvodní obrazovku. Poznámka: Pro soubor Dafault.png můžete vytvořit libovolnou grafiku se správnými rozměry (320 x 480 obr. bodů). Často je ale nejlepší, pokud obraz v souboru Default.png odpovídá počátečnímu stavu aplikace.
Poslední aktualizace 12.5.2011
13
Kapitola 2: Kompilace a ladění aplikací pro zařízení iPhone Aplikaci pro zařízení iPhone lze zkompilovat pomocí softwaru Packager for iPhone. Software Packager for iPhone je součástí aplikace Flash Professional CS5. Aplikaci můžete ladit ve vývojovém počítači. Můžete také nainstalovat ladící verzi do zařízení iPhone a získat v aplikaci Flash Professional CS5 výstup metody trace(). Výukovou lekci věnující se kompletnímu procesu vytvoření aplikace pro zařízení iPhone naleznete v části „Vytvoření aplikace Hello World pro zařízení iPhone pomocí aplikace Flash Professional CS5“ na stránce 8.
Ikony a obrazy na úvodní obrazovce zařízení iPhone Všechny aplikace pro zařízení iPhone obsahují ikony, které budou zobrazeny na uživatelském rozhraní aplikace iTunes a v zařízení iPhone. Ikony aplikací pro zařízení iPhone V aplikacích pro zařízení iPhone definujete tyto ikony:
• Ikona 29 x 29 obrazových bodů – tuto ikonu používají výsledky hledání vyhledávače Spotlight v zařízeních iPhone a iPod Touch.
• Ikona 48 x 48 obrazových bodů – tuto ikonu používají výsledky hledání vyhledávače Spotlight v zařízení iPad. • Ikona 57 x 57 obrazových bodů – tuto ikonu zobrazují výchozí obrazovky zařízení iPhone a iPod Touch. • Ikona 57 x 57 obrazových bodů (volitelné) – tuto ikonu zobrazuje výchozí obrazovka zařízení iPad. • Ikona 512 x 512 obrazových bodů – tato ikona se zobrazuje v aplikaci iTunes. Tento soubor PNG s 512 obrazovými body slouží pouze k testování vývojových verzí vaší aplikace. Když odešlete konečnou aplikaci do obchodu Apple App Store, odešlete obraz 512 samostatně jako soubor JPG, který není obsažen v souboru IPA. V aplikaci Flash Professional CS5 tyto ikony přidejte na záložku Nastavení zařízení iPhone. Další informace naleznete v části „Nastavení vlastností aplikace pro zařízení iPhone v aplikaci Flash Professional CS5“ na stránce 15. Také můžete přidat umístění ikon do souboru deskriptoru aplikace:
Zařízení iPhone na ikonu přidá efekt lesku. Zdrojový obraz nemusí tento efekt obsahovat. Chcete-li tento výchozí efekt lesku odstranit, přidejte v souboru deskriptoru aplikace do elementu InfoAdditions následující výraz:
Poslední aktualizace 12.5.2011
14
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
Další informace naleznete v části „Nastavení vlastností aplikace pro zařízení iPhone v souboru deskriptoru aplikace“ na stránce 17. Obraz počáteční obrazovky (Default.png) Všechny aplikace pro zařízení iPhone při načítání aplikace do zařízení iPhone zobrazují počáteční obraz. Počáteční obraz definujte jako soubor PNG s názvem Default.png. V hlavní vývojové složce vytvořte soubor PNG s názvem Default.png. (Tento soubor neumísťujte do podsložky. Je nezbytné, abyste jako název souboru použili výraz „Default“, kde „D“ bude velké písmeno.) Soubor Default.png má šířku 320 obr. bodů a výšku 480 obr. bodů bez ohledu na počáteční orientaci aplikace a bez ohledu na to, zda je aplikace v režimu celé obrazovky či nikoli. Pokud je počáteční orientace aplikace na šířku, použijte stejné rozměry, které používá aplikace s orientací na výšku: 320 obr. bodů na šířku x 480 obr. bodů na výšku. Grafický prvek však v souboru PNG otočte o 90° proti směru hodinových ručiček. Levé strana grafiky souboru PNG odpovídá horní části obrazovky zařízení iPhone v režimu na šířku. (Informace týkající se nastavení počáteční orientace aplikace naleznete v části „Nastavení aplikace pro zařízení iPhone“ na stránce 15.) U aplikace, která není v režimu celé obrazovky, je ignorováno 20 horních obr. bodů výchozí grafiky. Zařízení iPhone zobrazí stavový řádek v rámci obdélníku širokého 20 obr. bodů v horní části výchozího obrazu. V aplikaci s orientací na šířku odpovídá tato oblast obdélníku v levé části širokému 20 obr. bodů, který je součástí souboru Default.png (který se v režimu na šířku zobrazí v horní části). V portrétově orientované aplikaci představuje tato oblast obdélník široký 20 obr. bodů v horní části, který je součástí souboru Default.png. U většiny aplikací by měl obraz Default.png odpovídat úvodní obrazovce aplikace. Postup pořízení snímku počáteční obrazovky aplikace: 1
Spusťte aplikaci v zařízení iPhone. Až bude zobrazena první obrazovka uživatelského rozhraní, stiskněte a podržte tlačítko Home (Domů) pod obrazovkou. Stále držte tlačítko Home (Domů) a stiskněte v horní části zařízení tlačítko Power/Sleep (Napájení/režim spánku). Tímto postupem pořídíte snímek obrazovky a odešlete jej do složky Camera Roll.
2 Obraz převeďte do vývojového počítače. Použijte k tomu převod fotografií z aplikace iPhoto nebo jiné aplikace
umožňující převod fotografií. (V sytému MacOS můžete také použít aplikaci Image Capture.) Stejně tak můžete fotografii do vývojového počítače odeslat e-mailem:
• Otevřete aplikaci Photos (Fotografie). • Otevřete složku Camera Roll. • Otevřete zachycený snímek obrazovky. • Poklepejte na obraz a poté poklepejte v levém dolním rohu na tlačítko (šipku) vpřed. Poté klepněte na tlačítko Email Photo (Odeslat fotografii e-mailem) a odešlete obraz sami sobě. Poznámka: Pro soubor Default.png můžete vytvořit libovolnou grafiku se správnými rozměry. Často je ale nejlepší, pokud obraz v souboru Default.png odpovídá počátečnímu stavu aplikace. Jestliže se aplikace lokalizuje do více jazyků, nevkládejte do obrazu Default.png text. Obraz Default.png je statický a text by neodpovídal ostatním jazykům.
Poslední aktualizace 12.5.2011
15
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
V aplikaci Flash Professional CS5 je nutné přidat soubor Default.png do seznamu Obsažené soubory v dialogovém okně Nastavení zařízení iPhone. Další informace naleznete v části „Nastavení vlastností aplikace pro zařízení iPhone v aplikaci Flash Professional CS5“ na stránce 15. Při kompilaci pomocí aplikace PFI na příkazovém řádku je nutné tento soubor uvést v seznamu obsažených datových zdrojů. Další informace naleznete v části „Vytvoření souboru instalátoru aplikace pro zařízení iPhone z příkazového řádku“ na stránce 21.
Nastavení aplikace pro zařízení iPhone Nastavení aplikace zahrnují:
• Název aplikace • Název souboru IPA • Verze aplikace • Orientace úvodní obrazovky aplikace, a zda se bude při otočení zařízení iPhone automaticky otáčet i orientace obrazovky
• Zda bude počáteční zobrazení na celou obrazovku či nikoliv • Informace o ikonách aplikace • Informace o hardwarové akceleraci Nastavení aplikace lze upravit v aplikaci Flash Professional CS5. Rovněž je lze upravit v souboru deskriptoru aplikace. Soubor deskriptoru aplikace je soubor XML obsahující nastavení pro aplikaci.
Nastavení vlastností aplikace pro zařízení iPhone v aplikaci Flash Professional CS5 V dialogovém okně Nastavení zařízení iPhone aplikace Flash Professional CS5 definujete širokou řadu základních vlastností aplikace pro zařízení iPhone. Postup otevření dialogového okna Nastavení zařízení iPhone: ❖ Vyberte příkaz Soubor > Nastavení zařízení iPhone.
Záložka Všeobecné Záložka Všeobecné obsahuje následující nastavení týkající se zařízení iPhone:
• Výstupní soubor – Název aplikace, který bude v zařízení iPhone zobrazován pod ikonou aplikace. Nepoužívejte v názvu výstupního souboru znaménko plus (+).
• Název aplikace – Název aplikace, který bude v zařízení iPhone zobrazován pod ikonou aplikace. Nepoužívejte v názvu aplikace znaménko plus (+).
• Verze – Pomáhá uživatelům určit, kterou verzi aplikace instalují. Verze slouží jako vlastnost CFBundleVersion aplikace pro zařízení iPhone. Je třeba, aby byla ve formátu nnnnn[.nn[.nn]], kde n představuje číslici v rozmezí 0– 9 a závorky označují volitelné komponenty (například 1, 1.0 nebo 1.0.1.). Verze pro zařízení iPhone musí obsahovat pouze číslice a desetinné čárky. Verze pro zařízení iPhone mohou zahrnovat až dvě desetinné čárky.
• Poměr stran – Počáteční poměr stran aplikace (na výšku nebo na šířku).
Poslední aktualizace 12.5.2011
16
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
• Celá obrazovka – Určuje, zda aplikace používá celou obrazovku nebo zda zobrazuje stavový řádek zařízení iPhone. • Automatická orientace – Vyberete-li tuto aplikaci, bude zobrazovaný obsah aplikace měnit orientaci při změně orientace zařízení iPhone. Při použití automatické orientace dosáhnete nejlepších výsledků, když přidáte kód jazyka ActionScript k nastavení vlastnosti align objektu Stage na následující hodnoty: stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE;
• Vykreslení – Způsob vykreslení zobrazovaných objektů v zařízení iPhone: • CPU – Aplikace použije k vykreslení všech zobrazených objektů CPU. Není použita hardwarová akcelerace. • GPU – Aplikace použije ke skládání bitmap GPU zařízení iPhone. • Automaticky – Tato funkce nebyla implementována. Další informace naleznete v části „Hardwarová akcelerace“ na stránce 36.
• Obsažené soubory – Přidejte v aplikaci pro zařízení iPhone všechny soubory a složky do balíčku. Ve výchozím nastavení je obsažen hlavní soubor SWF a soubor deskriptoru aplikace. Přidejte libovolné další požadované datové zdroje do seznamu Obsažené soubory. Ujistěte se, že přidáte grafický soubor úvodní obrazovky (Default.png). Záložka Nasazení Záložka Nasazení obsahuje nastavení k podepisování a kompilaci aplikace:
• Digitální podpis zařízení iPhone – Určete pro certifikát soubor certifikátu P12 a heslo. Certifikát zařízení Apple iPhone je třeba převést do formátu .p12. Další informace naleznete v části „Získání souborů pro vývojáře od společnosti Apple“ na stránce 4.
• Prováděcí soubor – Přejděte k prováděcímu souboru pro tuto aplikaci, který jste získali od společnosti Apple. Další informace naleznete v části „Získání souborů pro vývojáře od společnosti Apple“ na stránce 4.
• ID aplikace – ID aplikace jedinečně identifikuje aplikaci. Pokud je prováděcí soubor spojen s konkrétním ID aplikace, aplikace Flash Professional CS5 nastaví toto pole a vy je nebudete moci upravit. V opačném případě umožňuje prováděcí profil určit více (zástupných) ID aplikací. Určete ID aplikace, které odpovídá zástupnému vzorci ID aplikace poskytnutému společnosti Apple:
• Pokud je ID aplikace společnosti Apple com.myDomain.*, ID aplikace v dialogovém okně Nastavení zařízení iPhone musí začínat com.myDomain. (například com.myDomain.myApp nebo com.myDomain.app22).
• Pokud je ID aplikace společnosti Apple *, ID aplikace v dialogovém okně Nastavení zařízení iPhone může být libovolný řetězec platných znaků. ID aplikace (nebo zástupný vzorec ID aplikace) přiřazené k prováděcímu profilu můžete nalézt na webu iPhone Dev Center (http://developer.apple.com/iphone). Přejděte k portálu iPhone Developer Program Portal a poté k části Provisioning (Provádění). Důležité:Neberte v potaz znaky na začátku ID aplikace společnosti Apple. Společnost Apple nazývá tento řetězec ID zdroje balíku. Pokud například společnost Apple uvede jako ID aplikace 96LPVWEASL.com.example.bob.myApp, neberte v potaz část 96LPVWEASL – jako ID aplikace použijte com.example.bob.myApp. Pokud společnost Apple uvede jako ID aplikace 5RM86Z4DJM.*, neberte v potaz část 5RM86Z4DJM – jedná se o zástupné ID aplikace.
• Typ nasazení – zařízení iPhone: • Rychlé publikování pro ladění zařízení – Tuto možnost vyberte, chcete-li rychle zkompilovat verzi aplikace za účelem testování v zařízení iPhone vývojáře.
Poslední aktualizace 12.5.2011
17
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
• Rychlé publikování pro testování zařízení – Tuto možnost vyberte, chcete-li za účelem testování v zařízení iPhone vývojáře rychle zkompilovat ladící verzi aplikace. V rámci této možnosti může debugger aplikace Flash Professional CS5 obdržet z vaší aplikace pro zařízení iPhone výstup z metody trace(). (Další informace naleznete v části „Ladění aplikace pro zařízení iPhone“ na stránce 24.)
• Nasazení – ad hoc – Tuto možnost vyberte, chcete-li vytvořit aplikaci pro ad hoc nasazení. Další informace naleznete v části týkající se centra pro vývojáře zařízení iPhone společnosti Apple.
• Nasazení – Apple App Store – Tuto možnost vyberte, chcete-li vytvořit konečnou verzi souboru IPA k nasazení aplikace do obchodu Apple App Store. Záložka Ikony Na záložce Ikony určete umístění obrazů ikon o velikostech 29 x 29, 48 x 48, 57 x 57, 72 x 72 a 512 x 512 obrazových bodů. Další informace naleznete v části „Ikony a obrazy na úvodní obrazovce zařízení iPhone“ na stránce 13. Poznámka: Verze softwaru Packager for iPhone Preview obsaženého v aplikaci Flash Professional CS5 nezahrnuje možnosti pro ikony o velikostech 48 x 48 a 72 x 72 obrazových bodů. Chcete-li tyto možnosti přidat, zvolte v aplikaci Flash Professional CS5 příkaz Nápověda > Aktualizace.
Nastavení vlastností aplikace pro zařízení iPhone v souboru deskriptoru aplikace Soubor deskriptoru aplikace je soubor XML, který obsahuje vlastnosti ovlivňující celou aplikaci, například její název, verzi, autorská práva a další nastavení. Aplikace Flash Professional CS5 generuje soubor deskriptoru aplikace na základě nastavení dialogového okna Nastavení zařízení iPhone. Nicméně soubor deskriptoru aplikace lze upravit také v textovém editoru. Aplikace Flash Professional vytvoří název souboru deskriptoru aplikace tím způsobem, že k názvu projektu přidá výraz „-app.xml“. Například soubor deskriptoru aplikace pro projekt HelloWorld bude mít název HelloWorld-app.xml. Pokud chcete definovat nastavení, která v dialogovém okně aplikace Flash Professional CS5 Nastavení zařízení iPhone nejsou podporována, soubor deskriptoru aplikace upravte. Můžete například definovat element InfoAdditions, definující pro aplikaci nastavení souboru info.Plist. Důležité: Je-li otevřeno dialogové okno aplikace Flash Professional CS5, neupravujte soubor deskriptoru aplikace. Před otevřením dialogového okna Nastavení zařízení iPhone uložte změny v souboru deskriptoru aplikace. Zde je příklad souboru deskriptoru aplikace:
Poslední aktualizace 12.5.2011
18
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
Následují podrobné informace o nastavení v tomto souboru deskriptoru aplikace:
• V elementu
• Element
• Pokud je ID aplikace společnosti Apple com.myDomain.*, ID aplikace v souboru deskriptoru aplikace musí začínat com.myDomain. Můžete určit ID aplikace, jako je com.myDomain.myApp nebo com.myDomain.app22.
• Pokud je ID aplikace společnosti Apple *, ID aplikace v souboru deskriptoru aplikace může být libovolný řetězec platných znaků.
Poslední aktualizace 12.5.2011
19
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
ID aplikace (nebo zástupný vzorec ID aplikace) přiřazené k prováděcímu profilu můžete nalézt na webu iPhone Dev Center (http://developer.apple.com/iphone). Přejděte k portálu iPhone Developer Program Portal a poté k části Provisioning (Provádění). Důležité:Neberte v potaz znaky na začátku ID aplikace společnosti Apple. Společnost Apple nazývá tento řetězec ID zdroje balíku. Pokud například společnost Apple uvede jako ID aplikace 5RM86Z4DJM.*, neberte v potaz část 5RM86Z4DJM – jedná se o zástupné ID aplikace. Pokud společnost Apple uvede jako ID aplikace 96LPVWEASL.com.example.bob.myApp, neberte v potaz část 96LPVWEASL – jako ID aplikace použijte com.example.bob.myApp.
• Element
• Element
• Element
• Element
•
cpu – Aplikace použije k vykreslení všech objektů zobrazení CPU. Není použita hardwarová akcelerace.
•
gpu – Aplikace použije ke skládání bitmap GPU zařízení iPhone.
•
auto – Tato funkce nebyla implementována.
Poslední aktualizace 12.5.2011
20
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
Další informace naleznete v části „Hardwarová akcelerace“ na stránce 36.
• Element <profiles>: <profiles>mobileDevice Omezuje kompilaci aplikace na profil mobilního zařízení. Tento profil v současnosti podporuje pouze aplikace pro zařízení iPhone. Existují tři podporované profily:
•
desktop – aplikace AIR pro stolní počítač.
•
extendedDesktop – aplikace AIR s podporou rozhraní API nativních procesů.
•
mobileDevice – aplikace AIR pro mobilní zařízení. V současné době je jediným podporovaným mobilním zařízením zařízení iPhone.
Pokud aplikaci omezíte na konkrétní profil, předejdete tomu, aby byla kompilována do jiných profilů. Pokud žádný profil neurčíte, můžete aplikaci kompilovat na libovolný z těchto profilů. Chcete-li určit více profilů, uveďte jednotlivé profily v elementu <profiles> a oddělte je od sebe mezerou. Nezapomeňte jako podporovaný profil zahrnout profil mobileDevice (nebo můžete element <profiles> ponechat prázdný).
• Element
• Element
Hodnoty v tomto příkladu nastavují pro aplikaci styl stavového řádku a určují, že aplikace nevyžaduje stálý přístup k rozhraní Wi-Fi.
Poslední aktualizace 12.5.2011
21
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
Nastavení InfoAdditions jsou uzavřena v tagu CDATA. Chcete-li zajistit podporu zařízení iPad, zadejte nastavení klíčových hodnot pro parametr UIDeviceFamily. Nastavení parametru UIDeviceFamily je pole řetězců. Každý řetězec definuje podporovaná zařízení. Řetězec <string>1 definuje podporu zařízení iPhone a iPod Touch. Řetězec <string>2 definuje podporu zařízení iPad. Jestliže určíte jeden z těchto řetězců, bude podporována pouze daná řada zařízení. Následující nastavení například omezí podporu jen na zařízení iPad:
Následující kód nastaví podporu pro obě řady zařízení (iPhone/iPod Touch a iPad):
Informace o dalších nastaveních souboru Info.plist naleznete v dokumentaci pro vývojáře od společnosti Apple.
Kompilace souboru instalátoru aplikace pro zařízení iPhone (IPA) Pomocí softwaru Packager for iPhone zkompilujte aplikaci v jazyce ActionScript 3.0 do souboru instalátoru IPA.
Vytvoření souboru instalátoru aplikace pro zařízení iPhone pomocí softwaru Packager for iPhone obsaženého v aplikaci Flash Professional CS5 Použití softwaru Packager for iPhone zahrnutého v aplikaci Flash Professional CS5: 1 Vyberte příkaz Soubor > Publikovat. 2 V dialogovém okně Nastavení zařízení iPhone zkontrolujte, zda jste zadali hodnoty pro všechna nastavení. Ujistěte
se, zda jste na záložce Nasazení vybrali správné volby. Další informace naleznete v části „Nastavení vlastností aplikace pro zařízení iPhone v aplikaci Flash Professional CS5“ na stránce 15. 3 Klepněte na tlačítko Publikovat.
Software Packager pro iPhone vygeneruje soubor instalátoru aplikace (IPA). Kompilace souboru IPA může několik minut trvat. Software Packager for iPhone lze rovněž spustit z příkazového řádku. Další informace naleznete v části „Vytvoření souboru instalátoru aplikace pro zařízení iPhone z příkazového řádku“ na stránce 21.
Vytvoření souboru instalátoru aplikace pro zařízení iPhone z příkazového řádku Software Packager for iPhone můžete spustit z příkazového řádku. Software Packager for iPhone převede bajtový kód souboru SWF nebo jiné zdrojové soubory na nativní aplikaci pro zařízení iPhone. 1 Otevřete příkazové prostředí nebo terminál a přejděte v aplikaci pro zařízení iPhone do složky projektu.
Poslední aktualizace 12.5.2011
22
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
2 Pak pomocí nástroje pfi vytvořte soubor IPA s použitím následující syntaxe: pfi -package -target [ipa-test ipa-debug ipa-app-store ipa-ad-hoc] -provisioning-profile PROFILE_PATH SIGNING_OPTIONS TARGET_IPA_FILE APP_DESCRIPTOR SOURCE_FILES
Změňte odkaz pfi tak, aby obsahoval úplnou cestu k aplikaci pfi. Aplikace pfi je nainstalována v podsložce pfi/bin instalační složky aplikace Flash Professional CS5. Vyberte volbu -target odpovídající typu aplikace pro zařízení iPhone, kterou chcete vytvořit:
•
-target ipa-test – tuto volbu vyberte, chcete-li za účelem testování v zařízení iPhone vývojáře rychle
zkompilovat verzi aplikace.
•
-target ipa-debug – tuto volbu vyberte, chcete-li za účelem testování v zařízení iPhone vývojáře zkompilovat ladicí verzi aplikace. Pomocí této volby můžete k přijetí výstupu metody trace() z aplikace pro zařízení iPhone použít relaci ladění.
Zahrnutím jedné z následujících voleb -connect (CONNECT_OPTIONS) lze určit IP adresu vývojového počítače, v němž je spuštěn ladicí program:
•
-connect – aplikace se pokusí připojit k relaci ladění ve vývojovém počítači použitém ke kompilaci aplikace.
•
-connect IP_ADDRESS – aplikace se pokusí připojit k relaci ladění v počítači s určenou IP adresou.
Například: -target ipa-debug -connect 192.0.32.10
•
-connect HOST_NAME – aplikace se pokusí připojit k relaci ladění v počítači s určeným názvem hostitele.
Například: -target ipa-debug -connect bobroberts-mac.example.com
Poznámka: V softwaru Packager for iPhone obsaženého v aplikaci Flash Professional CS5 není volba -connect k dispozici. Proveďte aktualizaci softwaru Packager for iPhone® pomocí volby Nápověda > Aktualizace v aplikaci Flash Professional CS5. Volba -connect je volitelná. Nebude-li určena, výsledná ladicí aplikace se nepokusí připojit k hostovanému ladicímu programu. Jestliže pokusy o navázání připojení za účelem ladění selžou, aplikace zobrazí dialog s výzvou k zadání IP adresy hostitelského počítače ladicího programu. Pokus o navázání připojení může selhat, pokud zařízení není připojeno k síti WiFi. Také to může nastat v případě, že zařízení je připojeno, ale ne za bránou firewall hostitelského počítače ladicího programu. Další informace naleznete v části „Ladění aplikace pro zařízení iPhone“ na stránce 24. Dále je možné zahrnout volbu -renderingdiagnostics, která zapne diagnostiku vykreslení GPU. Další informace naleznete v kapitole „Ladění aplikace pro zařízení iPhone“ na stránce 24 v části „Ladění pomocí diagnostiky vykreslení GPU“.
•
-target ipa-ad-hoc – Tuto volbu vyberte, chcete-li vytvořit aplikaci pro ad hoc nasazení. Další informace
naleznete v části týkající se centra pro vývojáře zařízení iPhone společnosti Apple.
•
-target ipa-app-store – Tuto volbu vyberte, chcete-li vytvořit konečnou verzi souboru IPA k nasazení
aplikace do obchodu Apple App Store. Výraz PROFILE_PATH nahraďte cestou k souboru prováděcího profilu vaší aplikace. Další informace týkající se prováděcích profilů naleznete v části „Získání souborů pro vývojáře od společnosti Apple“ na stránce 4. Výraz SIGNING_OPTIONS nahraďte tak, aby odkazoval na váš certifikát a heslo pro vývojáře pro zařízení iPhone. Použijte následující syntaxi:
Poslední aktualizace 12.5.2011
23
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
-storetype pkcs12 -keystore P12_FILE_PATH -storepass PASSWORD
Nahraďte výraz P12_FILE_PATH cestou k souboru certifikátu P12. Výraz PASSWORD nahraďte heslem certifikátu. (Viz následující příklad.) Další informace o souboru certifikátu P12 naleznete v části „Převod certifikátu pro vývojáře do souboru P12“ na stránce 7. Výraz APP_DESCRIPTOR nahraďte tak, aby odkazoval na soubor deskriptoru aplikace. Výraz SOURCE_FILES nahraďte tak, aby odkazoval na hlavní soubor SWF projektu. Po něm mohou následovat jakékoli další zahrnuté datové zdroje. Uveďte cesty ke všem souborům ikon, které jste definovali v aplikaci Flash CS5 v dialogovém okně nastavení aplikace a ve vlastním souboru deskriptoru aplikace. Také přidejte grafický soubor úvodní obrazovky Default.png. Vezměte v úvahu následující příklad: pfi -package -target ipa-test -storetype pkcs12 -keystore "/Users/Jeff/iPhoneCerts/iPhoneDeveloper_Jeff.p12" -storepass dfb7VKL19 "HelloWorld.ipa" "HelloWorld-app.xml" "HelloWorld.swf" "Default.png" "icons/icon29.png" "icons/icon57.png" "icons/icon512.png"
Tento příklad kompiluje soubor HelloWorld.ipa pomocí následujících informací:
• konkrétního certifikátu PKCS#12 používajícího heslo certifikátu dfb7VKL19, • souboru deskriptoru aplikace HelloWorld-app.xml, • zdrojového souboru HelloWorld.swf, • konkrétních souborů ikon a souboru Default.png. Aplikace pfi zkompiluje aplikaci (na základě souboru deskriptoru aplikace, souboru SWF a dalších datových zdrojů) na soubor IPA. V systému Mac OS můžete použít certifikát uložený v řetězci klíčů přidáním následujících možností do příkazu aplikace pfi: -alias ALIAS_NAME -storetype KeychainStore -providerName Apple
Příkaz ALIAS_NAME nahraďte přezdívkou certifikátu, který chcete použít. Když přejdete k certifikátu uloženému v řetězci klíčů Mac, určíte přezdívku místo přechodu k umístění souboru certifikátu.
Instalace aplikace pro zařízení iPhone Chcete-li nainstalovat vámi vyvinutou aplikaci do zařízení iPhone, přidejte prováděcí profil do zařízení iPhone a poté do tohoto zařízení aplikaci nainstalujte. Přidání prováděcího profilu do zařízení iPhone Postup přidání prováděcího profilu do zařízení iPhone: 1 V aplikaci iTunes vyberte položky File (Soubor) > Add to Library (Přidat do knihovny). Vyberte soubor
prováděcího profilu (bude obsahovat rozšíření názvu souboru mobileprovision). Ujistěte se, že zařízení iPhone je přidáno k prováděcímu profilu. Prováděcí profily lze spravovat na webu Apple iPhone Dev Center (http://developer.apple.com/iphone/). Přejděte k části tohoto webu zvané portál iPhone Developer Program Portal. Klepnutím na odkaz Devices (Zařízení) můžete spravovat seznam zařízení, ve kterých může být nainstalována vámi vyvinutá aplikace. Klepnutím na odkaz Provisioning (Provádění) můžete spravovat prováděcí profily.
Poslední aktualizace 12.5.2011
24
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
2 Připojte zařízení iPhone k počítači a proveďte synchronizaci.
Informace o získání prováděcího profilu naleznete v části „Získání souborů pro vývojáře od společnosti Apple“ na stránce 4. Instalace aplikace Vámi vyvinutou aplikaci nainstalujete stejným způsobem, jakým instalujete jakýkoli jiný soubor IPA. 1 Pokud jste dříve nainstalovali některou verzi aplikace, odstraňte aplikaci ze zařízení a ze seznamu aplikací v aplikaci
iTunes. 2 Přidejte aplikaci do aplikace iTunes některým z následujících způsobů:
• V nabídce File (Soubor) (v aplikaci iTunes) vyberte příkaz Add to Library (Přidat do knihovny). Poté vyberte soubor IPA a klepněte na tlačítko Open (Otevřít).
• Poklepejte na soubor IPA. • Přetáhněte soubor IPA do knihovny aplikace iTunes. 3 Připojte zařízení iPhone k portu USB v počítači. 4 V aplikaci iTunes vyhledejte zařízení na záložce Application (Aplikace) a ujistěte se, že je aplikace vybrána v
seznamu aplikací určených k instalaci. 5 Proveďte synchronizaci zařízení iPhone.
Řešení potíží s instalací aplikace Pokud při pokusu o instalaci aplikace zobrazí aplikace iTunes chybu, zkontrolujte následující prvky:
• Ujistěte se, že do prováděcího profilu je přidáno ID zařízení. • Chcete-li se ujistit, že prováděcí profil je nainstalován, můžete jej přetáhnout do aplikace iTunes nebo použít příkaz File (Soubor) > Add to Library (Přidat do knihovny). Také zkontrolujte, zda ID aplikace odpovídá ID aplikace společnosti Apple.
• Pokud je ID aplikace společnosti Apple com.myDomain.*, ID aplikace v souboru deskriptoru aplikace nebo ID aplikace v dialogovém okně Nastavení zařízení iPhone musí začínat com.myDomain (např. com.myDomain.anythinghere).
• Pokud je ID aplikace společnosti Apple com.myDomain.myApp, ID aplikace v souboru deskriptoru aplikace nebo v uživatelském rozhraní aplikace Flash Professional CS5 musí být com.myDomain.myApp.
• Je-li ID aplikace společnosti Apple *, ID aplikace v souboru deskriptoru aplikace nebo v uživatelském rozhraní aplikace Flash Professional CS5 může být jakékoli. ID aplikace nastavíte v dialogovém okně Nastavení aplikace iPhone v aplikaci Flash Professional CS5 nebo v souboru deskriptoru aplikace.
Ladění aplikace pro zařízení iPhone Ladění aplikace lze provádět na vývojovém počítači, zatímco je aplikace spuštěná v nástroji ADL. Kromě toho lze aplikaci ladit i v zařízení iPhone.
Poslední aktualizace 12.5.2011
25
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
Některé funkce prostředí AIR, jež nejsou podporovány v zařízení iPhone, jsou přesto k dispozici při testování aplikace pomocí nástroje ADL (na vývojovém počítači). Tyto rozdíly je nutné vzít na vědomí při testování obsahu na počítači. Další informace naleznete v části „Rozhraní API jazyka ActionScript 3.0 nepodporovaná v mobilních zařízeních“ na stránce 28. Ladění aplikace na vývojovém počítači Postup při ladění aplikace na vývojovém počítači pomocí aplikace Flash Professional CS5: ❖ Zvolte možnost Ladit > Ladit film > V aplikaci AIR Debug Launcher (pro mobilní zařízení).
Ladění aplikace lze rovněž provést spuštěním nástroje ADL z příkazového řádku. Syntaxe je následující: adl –profile mobileDevice appDescriptorFile
Nahraďte výraz appDescriptorFile cestou k souboru deskriptoru aplikace. Volba -profile mobileDevice musí být zahrnuta. Ladění aplikace v zařízení iPhone Postup ladění aplikace v zařízení iPhone: 1 Zkompilujte aplikaci pomocí podpory ladění:
• V aplikaci Flash Professional CS5 kompilujte s použitím nastavení Rychlé publikování pro testování zařízení. (Další informace naleznete v části „Vytvoření souboru instalátoru aplikace pro zařízení iPhone pomocí softwaru Packager for iPhone obsaženého v aplikaci Flash Professional CS5“ na stránce 21.)
• Pomocí aplikace příkazového řádku PFI zkompilujte aplikaci s volbou target
ipa-debug. (Další informace naleznete v části „Vytvoření souboru instalátoru aplikace pro zařízení iPhone z příkazového řádku“ na stránce 21.)
2 Nainstalujte aplikaci do zařízení iPhone. 3 V zařízení iPhone zapněte rozhraní Wi-Fi a připojte se ke stejné síti, k níž je připojen vývojový počítač. 4 Ve vývojovém počítači spusťte relaci ladění. V aplikaci Flash Professional CS5 vyberte položky Ladit > Zahájit relaci
vzdáleného ladění > ActionScript 3.0. 5 Spusťte aplikaci v zařízení iPhone.
Ladicí verze aplikace vás vyzve k zadání adresy IP počítače vývojáře. Zadejte adresu IP a klepnutím na tlačítko OK získejte adresu IP vývojového počítače.
• V systému Mac OS vyberte z nabídky Apple možnost System Preference (Předvolby systému). V okně System Preferences (Předvolby systému) klepněte na ikonu Network (Síť). Okno Network preferences (Předvolby sítě) zobrazuje seznam adres IP.
• V systému Windows spusťte relaci příkazového řádku a příkaz ipconfig. Relace ladění zobrazí případný výstup metody trace() z aplikace. Při ladění aplikace nainstalované v zařízení iPhone podporuje aplikace Flash Professional CS5 všechny funkce ladění, včetně ovládání bodů přerušení, procházení kódem a sledování proměnných. Ladění pomocí diagnostiky vykreslení GPU Podle diagnostiky vykreslení GPU poznáte, jak aplikace využívá hardwarovou akceleraci (pro aplikace používající režim vykreslení GPU). Chcete-li tuto funkci použít, zkompilujte aplikaci pomocí nástroje PFI na příkazovém řádku a zahrňte volbu -renderingdiagnostics: pfi -package -renderingdiagnostics -target ipa-debug -connect ...
Poslední aktualizace 12.5.2011
26
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
Příznak -renderingdiagnostics musí následovat přímo za příznakem -package. Diagnostika vykreslení GPU zobrazuje barevné obdélníky pro všechny objekty zobrazení:
• Modrý – objekt zobrazení není bitmapa, ani není uložen v mezipaměti ve formě bitmapy, a probíhá jeho vykreslení. Pokud se modrá barva objevuje opakovaně u objektu zobrazení, který se nemění, může to být proto, že se překrývá s pohyblivými objekty zobrazení. Tímto objektem zobrazení může být například pozadí pohyblivých objektů zobrazení. Zvažte uložení objektu zobrazení do mezipaměti ve formě bitmapy. Jestliže se modrá barva objeví pro objekt, u něhož se domníváte, že by měl být uložen v mezipaměti, může být důvodem to, že tento objekt používá efekt, který procesor GPU neumí aplikovat. K těmto efektům patří některé režimy prolnutí, transformace barev, vlastnost scrollRect a masky. Aplikace rovněž zobrazí modrou barvu, pokud objekty zobrazení odeslané do procesoru GPU překračují jeho paměťový limit. Aplikace zaznamená zprávu o každém modrém obdélníku do protokolu. Tyto zprávy aplikace zobrazí spolu s ostatními zprávami funkce trace() a výstupu ladění.
• Zelený – objekt zobrazení je bitmapa nebo je uložen v mezipaměti ve formě bitmapy a poprvé se odesílá do procesoru GPU. Pokud se zelená barva objevuje u objektu zobrazení opakovaně, potom kód v aplikaci znovu vytváří tento objekt zobrazení. K tomu může například dojít, pokud se časová osa vrátí do snímku, který vytváří tento objekt zobrazení. Zvažte úpravu obsahu a zamezte opakovanému vytváření stejných objektů.
• Červený – objekt zobrazení je bitmapa nebo je uložen v mezipaměti ve formě bitmapy a znovu se odesílá do procesoru GPU. Červená barva se objeví pokaždé, když se tento objekt zobrazení změní natolik, že je nutné, aby aplikace znovu vykreslila jeho bitmapové vyjádření. Není-li například u plošného objektu nastavena vlastnost cacheAsBitmapMatrix, bude se objekt znovu vykreslovat, když dojde ke změně jeho velikosti nebo k otočení. K opětnému vykreslení dochází také při přesunu nebo změně podřízených objektů zobrazení. Jednotlivé barevné obdélníky zmizí po čtvrtém cyklu překreslení obrazovky za předpokladu, že se v těchto cyklech znovu nevyskytne důvod jejich zbarvení. Jestliže však na obrazovce k žádným změnám nedojde, barva diagnostiky se nezmění. Zvažte například bitmapový objekt zobrazení (banán) před vektorovým pozadím, jež není uloženo v mezipaměti ve formě bitmapy. Při prvním vykreslení je banán zbarven zeleně. Když se poprvé vykreslí pozadí, má modrou barvu:
S tím, jak se banán pohybuje, musí jednotka CPU znovu vykreslit pozadí, takže na pozadí se objeví modrý stín:
Modrý stín na pozadí znázorňuje překreslené oblasti, které je třeba odeslat do procesoru GPU.
Poslední aktualizace 12.5.2011
27
PACKAGER FOR IPHONE Kompilace a ladění aplikací pro zařízení iPhone
Když je však pozadí uloženo v mezipaměti ve formě bitmapy, při pohybu banánu nezobrazí diagnostika vykreslení žádné barevné tóny:
Žádné barevné tóny se v diagnostice nezobrazí proto, že procesor GPU zachová bitmapu pozadí. Procesor GPU může sloučit banán s pozadím, aniž by to ovlivnilo jednotku CPU. Předpokládejme, že banán je plošný objekt zobrazení, u něhož není nastavena vlastnost cacheAsBitmapMatrix. Pokaždé, když dojde k otočení (nebo ke změně velikosti) objektu zobrazení, diagnostika vykreslení se zobrazí červeně. To značí, že aplikace musí do procesoru GPU odeslat novou verzi objektu zobrazení:
Odeslání aplikace pro zařízení iPhone do obchodu App Store Postup při odeslání aplikace do obchodu App Store: 1 Na webu iPhone Dev Center (http://developer.apple.com/iphone/) si opatřete distribuční certifikát a prováděcí
profil. Distribuční certifikát má název „iPhone Developer: XXX.cer“, kde XXX je vaše jméno. Další informace naleznete v části „Získání souborů pro vývojáře od společnosti Apple“ na stránce 4. 2 Převeďte distribuční certifikát do souboru P12.
Další informace naleznete v části „Převod certifikátu pro vývojáře do souboru P12“ na stránce 7. 3 Pomocí souboru P12 a prováděcího profilu sestavte aplikaci.
Použijte soubor P12 vytvořený na základě distribučního certifikátu. Použijte ID aplikace přidružené k prováděcímu profilu distribuce. Další informace naleznete v části „Kompilace souboru instalátoru aplikace pro zařízení iPhone (IPA)“ na stránce 21. 4 Změňte typ souboru instalátoru z .ipa na .zip. (Například z MyApp.ipa jej změníte na MyApp.zip.) 5 Odešlete aplikaci na webu iPhone Dev Center (http://developer.apple.com/iphone/).
Poslední aktualizace 12.5.2011
28
Kapitola 3: Podpora rozhraní API jazyka ActionScript 3.0 pro mobilní zařízení Při vytváření mobilních aplikací AIR lze používat stejná rozhraní API jazyka ActionScript 3.0 jako při vývoji aplikací pro přehrávač Adobe Flash Player 10.1 a prostředí AIR 2 pro stolní počítače. Jsou zde ale určité výjimky a dodatky.
Rozhraní API jazyka ActionScript 3.0 nepodporovaná v mobilních zařízeních Některá rozhraní API jazyka ActionScript 3.0 nejsou podporována pro aplikace spouštěné v profilu mobilního zařízení (jako jsou aplikace spouštěné v zařízení iPhone). Pokud k vývoji různých profilů (například pro stolní počítače nebo mobilní zařízení) používáte stejný kód jazyka ActionScript, použijte kód k otestování, zda je konkrétní rozhraní API podporováno. V aplikacích pro zařízení iPhone například není podporována třída NativeWindow. (Aplikace pro zařízení iPhone nemohou používat nebo vytvářet nativní okna.) Chcete-li otestovat, zda je aplikace spuštěna v profilu, který nativní okna podporuje (jako je například profil stolního počítače), zkontrolujte vlastnost NativeWindow.isSupported. Následující tabulka obsahuje rozhraní API, která nejsou podporována v profilu mobilního zařízení. Obsahuje také vlastnosti, které lze zkontrolovat za účelem zjištění, zda je aplikace spuštěna v platformě, jež dané rozhraní API podporuje. Rozhraní API
Testovat podporu
Accessibility
Capabilities.hasAccessibility
Camera
Camera.isSupported
DatagramSocket
DatagramSocket.isSupported
DNSResolver
DNSResolver.isSupported
DockIcon
NativeApplication.supportsDockIcon
DRMManager
DRMManager.isSupported
EncryptedLocalStore
EncryptedLocalStore.isSupported
HTMLLoader
HTMLLoader.isSupported
LocalConnection
LocalConnection.isSupported
Microphone
Microphone.isSupported
NativeApplication.exit()
—
NativeApplication.menu
NativeApplication.supportsMenu
NativeApplication.isSetAsDefaultApplication()
NativeApplication.supportsDefaultApplication
NativeApplication.startAtLogin
NativeApplication.supportsStartAtLogin
NativeMenu
NativeMenu.isSupported
Poslední aktualizace 12.5.2011
29
PACKAGER FOR IPHONE Podpora rozhraní API jazyka ActionScript 3.0 pro mobilní zařízení
Rozhraní API
Testovat podporu
NativeProcess
NativeProcess.isSupported
NativeWindow
NativeWindow.isSupported
NativeWindow.notifyUser()
NativeWindow.supportsNotification
NetworkInfo
NetworkInfo.isSupported
PDF support
HTMLLoader.pdfCapability
PrintJob
PrintJob.isSupported
SecureSocket
SecureSocket.isSupported
ServerSocket
ServerSocket.isSupported
Shader
—
ShaderFilter
—
StorageVolumeInfo
StorageVolumeInfo.isSupported
XMLSignatureValidator
XMLSignatureValidator.isSupported
Pro profil mobilního zařízení nelze psát aplikace AIR založené na jazyku HTML a JavaScript. Některé třídy jazyka ActionScript 3.0 jsou podporovány pouze částečně: Třída File Aplikace pro zařízení iPhone mají přístup pouze do složky aplikace a složky úložiště aplikace. Můžete také volat metody File.createTempFile() a File.createTempDirectory(). Pokud voláte operaci přistupující do jiné složky (jako jsou například metody čtení nebo zápisu FileStream), vyvoláte výjimku IOError. Aplikace pro zařízení iPhone nepodporují nativní dialogová okna prohlížeče souborů, jako jsou například okna poskytovaná metodou File.browseForOpen(). Třída Loader V aplikaci pro zařízení iPhone nelze použít metodu Loader.load(). Nicméně v obsahu SWF načteném pomocí metody Loader.load() nelze spustit kód jazyka ActionScript. Lze však použít datové zdroje v souboru SWF (např. filmové klipy, obrazy, písma a zvuky v knihovně). Rovněž je možné načíst obrazové soubory pomocí metody Loader.load(). Třída Video V aplikacích AIR pro zařízení iPhone jsou podporována pouze videa používající kodeky Sorensen a ON2 VP6. Můžete použít metodu navigateToURL() a spustit video používající kodek H.264 mimo aplikaci. Jako parametr request předejte objekt URLRequest s adresou URL odkazující na video. Video bude spuštěno v přehrávači videa
zařízení iPhone. Textová pole V zařízení iPhone existují omezení týkající se písem a dalších nastavení. Další informace naleznete v části „Písma a zadávání textu“ na stránce 39.
Poslední aktualizace 12.5.2011
30
PACKAGER FOR IPHONE Podpora rozhraní API jazyka ActionScript 3.0 pro mobilní zařízení
Nepodporovaná rozhraní API a ladění pomocí nástroje ADL Některé funkce prostředí AIR, jež nejsou podporovány v zařízení iPhone, jsou přesto k dispozici při testování aplikace pomocí nástroje ADL (na vývojovém počítači). Tyto rozdíly je nutné vzít na vědomí při testování obsahu pomocí nástroje ADL. K těmto funkcím patří i následující obrazové a zvukové kodeky: Speex (zvuk), H.264/AVC (video) a AAC (zvuk). Pro aplikace AIR spuštěné v zařízení iPhone jsou tyto kodeky nedostupné. Nicméně dále fungují běžným způsobem na pracovní ploše. Podpora usnadnění přístupu a čtení z obrazovky je v nástroji ADL založeném na Windows funkční. V zařízení iPhone však nejsou tato rozhraní API podporována. Protokol RTMPE funguje normálně při použití z nástroje ADL na pracovní ploše. Nicméně objekt NetConnection, který se zkusí připojit prostřednictvím protokolu RTMPE, nebude v zařízení iPhone úspěšný. Třída Loader funguje při provádění obsahu pomocí nástroje ADL bez dalších omezení. Avšak při jeho provádění v zařízení iPhone bude při pokusu o načtení obsahu SWF zahrnujícího bytový kód jazyka ActionScript vyvolána chyba. Instance objektu Shader lze v nástroji ADL provést. Ale v zařízení iPhone není bytový kód Pixel Bender interpretován a shadery nemají žádný grafický efekt. Další informace naleznete v části „Ladění aplikace pro zařízení iPhone“ na stránce 24.
Rozhraní API jazyka ActionScript určená pro mobilní aplikace AIR Následující rozhraní API jsou dostupná pouze v aplikacích AIR pro mobilní zařízení. V současnosti nejsou funkční v přehrávači Flash Player ani ve verzích prostředí AIR pro stolní počítače. Rozhraní API pro orientaci obrazovky Rozhraní API pro orientaci obrazovky umožňují na ploše i v zařízení iPhone pracovat s orientací:
•
Stage.autoOrients – Určuje, zda je aplikace nastavena tak, aby plocha při natočení zařízení automaticky měnila
orientaci. Pokud je v aplikaci Flash Professional CS5 v dialogovém okně Nastavení zařízení iPhone vybrána možnost Automatická orientace, bude mít tato vlastnost hodnotu true. (Můžete také v souboru deskriptoru aplikace nastavit element autoOrients na hodnotu true.) Další informace naleznete v části „Nastavení aplikace pro zařízení iPhone“ na stránce 15. Automatickou změnu orientace lze zrušit přidáním posluchače události orientationChanging pro objekt Stage. Voláním metody preventDefault() tohoto objektu události zrušíte automatickou změnu orientace. Při použití automatické orientace dosáhnete nejlepších výsledků, když vlastnost align objektu Stage nastavíte na následující hodnoty: stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE;
•
Stage.deviceOrientation – Fyzická orientace zařízení. Hodnoty této vlastnosti určuje třída StageOrientation.
•
Stage.orientation – Aktuální orientace plochy. Hodnoty této vlastnosti určuje třída StageOrientation.
•
Stage.supportsOrientationChange – V zařízení iPhone je třeba nastavit hodnotu true, v aplikaci prostředí
AIR hodnotu false.
•
Stage.setOrientation() – Nastavuje orientaci plochy. Tato metoda obsahuje jeden parametr představující řetězec definující novou orientaci plochy. Konstanty ve třídě StageOrientation definují možné hodnoty parametrů.
Poslední aktualizace 12.5.2011
31
PACKAGER FOR IPHONE Podpora rozhraní API jazyka ActionScript 3.0 pro mobilní zařízení
• StageOrientation – Definuje hodnoty orientace plochy. Například vlastnost StageOrientation.ROTATED_RIGHT označuje plochu, která je vzhledem k výchozí orientaci zařízení natočená doprava.
• StageOrientationEvent – Definuje události, které objekt Stage odesílá při změně orientace obrazovky. K této události dojde, když uživatel otočí zařízení iPhone. Existují dva typy událostí. Během otáčení objekt Stage odesílá událost orientationChanging. Chcete-li zabránit tomu, aby plocha měnila orientaci, volejte metodu preventDefault() objektu události orientationChanging. Po dokončení změny orientace odešle objekt Stage událost orientationChange. V současnosti jsou rozhraní API pro orientaci obrazovky užitečná pouze v aplikacích AIR pro mobilní zařízení. Pokud aplikace AIR pro mobilní zařízení a aplikace AIR pro stolní počítač sdílejí zdrojový kód, použijte ke zjištění, zda je rozhraní API podporováno, vlastnost Stage.supportsOrientationChange. Následující příklad znázorňuje, jakým způsobem lze reagovat na otočení zařízení uživatelem: stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, onOrientationChange); function onOrientationChange(event:StageOrientationEvent):void { switch (event.afterOrientation) { case StageOrientation.DEFAULT: // re-orient display objects based on // the default (right-side up) orientation. break; case StageOrientation.ROTATED_RIGHT: // Re-orient display objects based on // right-hand orientation. break; case StageOrientation.ROTATED_LEFT: // Re-orient display objects based on // left-hand orientation. break; case StageOrientation.UPSIDE_DOWN: // Re-orient display objects based on // upside-down orientation. break; }
V tomto příkladu jsou v případě různých orientací plochy použity místo funkčního kódu komentáře. Orientaci plochy lze změnit voláním metody setOrientation() objektu Stage. Nastavení orientace je asynchronní operace. Dokončení orientace lze zkontrolovat poslechem události orientationChange. Následující kód ilustruje, jak lze plochu nastavit na orientaci doprava: stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, onOrientationChange); stage.setOrientation(StageOrientation.ROTATED_RIGHT); function onOrientationChange(event:StageOrientationEvent):void { // Code to handle the new Stage orientation }
Plocha při otáčení mění svou velikost a objekt Stage odesílá událost resize. Odpovědí na událost resize lze změnit polohu a velikost objektů zobrazení na ploše.
Poslední aktualizace 12.5.2011
32
PACKAGER FOR IPHONE Podpora rozhraní API jazyka ActionScript 3.0 pro mobilní zařízení
NativeApplication.systemIdleMode a SystemIdleMode Vlastnost NativeApplication.systemIdleMode umožňuje zabránit přechodu zařízení iPhone do neaktivního režimu. Pokud po určitou dobu nepoužíváte dotykovou obrazovku, přejde ve výchozím nastavení zařízení iPhone do neaktivního režimu. Neaktivní režim se může projevit ztmavením obrazovky. Neaktivní režim může rovněž způsobit přechod zařízení iPhone do režimu uzamčení. Tuto vlastnost lze nastavit na jednu z těchto dvou hodnot:
•
SystemIdleMode.NORMAL – Zařízení iPhone se chová jako při běžném neaktivním režimu.
•
SystemIdleMode.KEEP_AWAKE– Aplikace se pokusí zabránit přechodu zařízení iPhone do neaktivního režimu.
Tato funkce je podporována pouze u mobilních zařízení. V aplikacích AIR spuštěných v operačních systémech stolních počítačů podporována není. V aplikaci spuštěné ve stolním počítači nemá vlastnost NativeApplication.systemIdleMode žádný účinek. Následující kód zobrazuje, jak zakázat neaktivní režim zařízení iPhone: NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
CameraRoll Třída CameraRoll umožňuje přidání obrazu do složky Camera Roll zařízení iPhone. Metoda addBitmapData() přidá obraz do složky Camera Roll zařízení iPhone. Metoda obsahuje jeden parametr, a to bitmapData. Tento parametr představuje objekt BitmapData obsahující obraz určený k přidání do složky Camera Roll. Funkce třídy CameraRoll je podporována pouze u mobilních zařízení. V aplikacích AIR spuštěných v operačních systémech stolních počítačů podporována není. Chcete-li za běhu zjistit, zda aplikace podporuje funkci třídy CameraRoll, zkontrolujte statickou vlastnost CameraRoll.supportsAddBitmapData. Po volání metody addBitmapData() odešle objekt CameraRoll jednu ze dvou událostí:
•
complete – Operace byla úspěšně dokončena.
•
error– Došlo k chybě. V zařízení iPhone nemusí například být dostatek volného místa k uložení obrazu.
Následující kód přidá obraz plochy (zachycení obrazovky) do složky Camera Roll. if (CameraRoll.supportsAddBitmapData) { var cameraRoll:CameraRoll = new CameraRoll(); cameraRoll.addEventListener(ErrorEvent.ERROR, onCrError); cameraRoll.addEventListener(Event.COMPLETE, onCrComplete); var bitmapData:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight); bitmapData.draw(stage); cameraRoll.addBitmapData(bitmapData); } else { trace("not supported."); } function onCrError(event:ErrorEvent):void { // Notify user. } function onCrComplete(event:Event):void { // Notify user. }
Poslední aktualizace 12.5.2011
33
PACKAGER FOR IPHONE Podpora rozhraní API jazyka ActionScript 3.0 pro mobilní zařízení
DisplayObject.cacheAsBitmapMatrix Vlastnost cacheAsBitmapMatrixpředstavuje objekt Matrix, který definuje způsob vykreslení objektu zobrazení při nastavení vlastnosti cacheAsBitmap na hodnotu true. Při vykreslování bitmapové verze objektu zobrazení používá aplikace tuto matici jako transformační matici. Při nastavení vlastnosti cacheAsBitmapMatrix zachová aplikace bitmapový obraz uložený v mezipaměti a vykreslený pomocí dané matice místo matice zobrazení. (Matice zobrazení představuje hodnotu vlastnosti transform.concatenatedMatrix objektu zobrazení.) Pokud tato matice neodpovídá matici zobrazení, bitmapa změní velikost a natočí se podle potřeby. Objekt zobrazení s nastavenou vlastností cacheAsBitmapMatrix je opětovně vykreslen pouze v případě změny hodnoty vlastnosti cacheAsBitmapMatrix. Bitmapa patřičně změní velikost nebo se natočí, aby se přizpůsobila matici zobrazení. Použití vlastnosti cacheAsBitmapMatrix je prospěšné pro vykreslení na základě CPU i GPU, i když pro vykreslení GPU je obvykle prospěšnější. Poznámka: Chcete-li použít hardwarovou akceleraci, nastavte v záložce Všeobecné dialogového okna Nastavení zařízení iPhone v aplikaci Flash Professional CS5 položku Vykreslení na hodnotu GPU. (Nebo v souboru deskriptoru aplikace nastavte vlastnost renderMode na hodnotu gpu.) Následující kód například používá vyjádření netransformované bitmapy objektu zobrazení: matrix:Matrix = new Matrix(); // creates an identity matrix mySprite.cacheAsBitmapMatrix = matrix; mySprite.cacheAsBitmap = true;
Následující kód používá vyjádření bitmapy, které odpovídá aktuálnímu vykreslení: mySprite.cacheAsBitmapMatrix = mySprite.transform.concatenatedMatrix; mySprite.cacheAsBitmap = true;
Obvykle dostačuje matice identity (new Matrix()) nebo transform.concatenatedMatrix. K odeslání odlišné bitmapy do GPU však můžete použít jinou matici, jako je matice zmenšeného měřítka. Následující příklad používá matici cacheAsBitmapMatrix se zmenšením o 0,5 na osách x a y. Bitmapový objekt, který GPU používá, je menší, avšak GPU upraví jeho velikost tak, aby odpovídala vlastnosti transform.matrix objektu zobrazení: matrix:Matrix = new Matrix(); // creates an identity matrix matrix.scale(0.5, 0.5); // scales the matrix mySprite.cacheAsBitmapMatrix = matrix; mySprite.cacheAsBitmap = true;
Všeobecně vybírejte matici, která převede objekt zobrazení na velikost, která bude zobrazena v aplikaci. Pokud například aplikace zobrazí bitmapovou verzi pohyblivého symbolu zmenšeného o polovinu, použijte matici zmenšující o polovinu. Pokud aplikace zobrazí pohyblivý symbol větší, než jsou jeho aktuální rozměry, použijte matici zvětšující podle daného faktoru. Existuje praktický limit velikosti objektů zobrazení na základě nastavení vlastnosti cacheAsBitmapMatrix. Limit činí 1 020 x 1 020 obr. bodů. Existuje praktický limit celkového počtu obr. bodů pro všechny objekty zobrazení na základě nastavení vlastnosti cacheAsBitmapMatrix. Limit činí přibližně čtyři miliony obr. bodů. Při používání vlastnosti cacheAsBitmapMatrix a hardwarové akcelerace je třeba vzít v úvahu mnoho faktorů. Je důležité vědět, u kterých objektů zobrazení by měla být daná vlastnost nastavena, a u kterých nikoli. Důležité informace o používání této vlastnosti naleznete v části „Hardwarová akcelerace“ na stránce 36.
Poslední aktualizace 12.5.2011
34
PACKAGER FOR IPHONE Podpora rozhraní API jazyka ActionScript 3.0 pro mobilní zařízení
Pomocí diagnostiky vykreslení GPU můžete určit využití GPU v ladicí kompilaci aplikace. Další informace naleznete v části „Ladění aplikace pro zařízení iPhone“ na stránce 24. Poznámky k práci v síti Použití následujících schémat URL s funkcí nativigateToURL() způsobí otevření dokumentu v externí aplikaci: Schéma URL
Výsledek volání metody nativeToURL()
Příklad
mailto:
Otevře novou zprávu v poštovní aplikaci.
str = "mailto:[email protected]"; var urlReq:URLReq = new URLRequest(str); navigateToURL(urlReq);
sms:
Otevře novou zprávu v SMS aplikaci.
str = "sms:1-415-555-1212"; var urlReq:URLReq = new URLRequest(str); navigateToURL(urlReq);
tel:
Vytočí telefonní číslo na telefonu (se souhlasem uživatele).
str = "tel:1-415-555-1212"; var urlReq:URLReq = new URLRequest(str); navigateToURL(urlReq);
Aplikace pro zařízení iPhone může kvůli ověření serveru při zabezpečené transakci, jako je např. požadavek https, spoléhat na instalované kořenové certifikáty podepsané samy sebou. Server by neměl odesílat jen listový (koncový) certifikát, ale také všechny zprostředkované certifikáty řetězené na kořenový certifikát.
Rozhraní API jazyka ActionScript 3.0 důležitá pro vývojáře mobilních aplikací Následující rozhraní API jazyka ActionScript 3.0 definují funkce užitečné pro mobilní zařízení. Rozhraní API pro akcelerometr Pomocí následujících tříd mohou aplikace získávat události z akcelerometru zařízení:
• Accelerometer • AccelerometerEvent Další informace naleznete v části Vstup akcelerometru. Rozhraní API pro geolokaci Pomocí následujících tříd mohou aplikace získávat události z lokačního čidla zařízení:
• Geolokace • GeolocationEvent Další informace naleznete v tématu Geolokace. Dotykové, vícedotykové a posunkové rozhraní API Pomocí následujících tříd mohou aplikace přijímat události dotyku a gest:
• GestureEvent • GesturePhase
Poslední aktualizace 12.5.2011
35
PACKAGER FOR IPHONE Podpora rozhraní API jazyka ActionScript 3.0 pro mobilní zařízení
• MultiTouch • MultitouchInputMode • TouchEvent • TransformGestureEvent Další informace naleznete v tématu Dotykové, vícedotykové a posunkové rozhraní API.
Poslední aktualizace 12.5.2011
36
Kapitola 4: Posouzení návrhů aplikací pro zařízení iPhone Z rychlosti zpracování a velikosti obrazovky zařízení iPhone se odvíjí několik specifických předpokladů týkajících se návrhu a kódování, které je třeba uvážit. Mnoho z těchto návrhových předpokladů, které je třeba uvážit, je samozřejmě společných pro vývoj všech aplikací i mobilních aplikací. Další informace o optimalizaci aplikací naleznete v tématu Optimalizace obsahu pro platformu Adobe Flash. Tento dokument obsahuje velké množství návrhů týkajících se optimalizace výkonu mobilního obsahu, obsahu přehrávače Flash Player, obsahu prostředí AIR a obecně i obsahu založeného na jazyku ActionScript. Většina těchto návrhů se týká i aplikací AIR pro zařízení iPhone. Důležité: Mnohé z těchto posouzení návrhů a optimalizačních technik jsou nezbytné při vývoji aplikací fungujících správně v zařízení iPhone.
Hardwarová akcelerace K vylepšení grafického výkonu některých aplikací lze použít hardwarovou akceleraci rozhraní OpenGL ES 1.1. Hardwarová akcelerace může být prospěšná u her nebo jiných aplikací s animovanými objekty zobrazení. Aplikace využívající hardwarovou akceleraci mohou přesunout část grafických procesů z jednotky CPU do procesoru GPU zařízení iPhone, což může výrazně zlepšit výkon. Při navrhování aplikace na využití procesoru GPU je důležité dodržovat pravidla, jež zajistí efektivní akceleraci obsahu pomocí procesoru GPU. Chcete-li použít hardwarovou akceleraci, nastavte v záložce Všeobecné dialogového okna Nastavení zařízení iPhone v aplikaci Flash Professional CS5 položku Vykreslení na hodnotu GPU. V souboru deskriptoru aplikace můžete také nastavit vlastnost renderMode na hodnotu gpu:
Další informace naleznete v částech „Nastavení vlastností aplikace pro zařízení iPhone v aplikaci Flash Professional CS5“ na stránce 15 a „Nastavení vlastností aplikace pro zařízení iPhone v souboru deskriptoru aplikace“ na stránce 17. Existují čtyři třídy objektů zobrazení, které mohou být v hardwarové akceleraci rychle vykreslovány, pokud se jejich obsah mění jen zřídka:
• objekty bitmapy, • plošné objekty zobrazení s vlastností cacheAsBitmap nastavenou na hodnotu true a volitelně s nastavenou vlastností cacheAsBitmapMatrix (viz níže),
• trojrozměrné objekty zobrazení (tzn. mají nastavenu vlastnost z), • objekty zobrazení, které mají jednu sytou obdélníkovou výplň a okraje, které se zarovnávají s obrazovými body na obrazovce. Objekty založené na vektorech se opětovně vykreslí, kdykoli se nad nimi nebo pod nimi animuje jiný pohyblivý symbol. Do jedné z těchto kategorií by měl rovněž patřit jakýkoli objekt, který slouží jako pozadí nebo popředí animace.
Poslední aktualizace 12.5.2011
37
PACKAGER FOR IPHONE Posouzení návrhů aplikací pro zařízení iPhone
U objektů zobrazení, jejichž vlastnost cacheAsBitmap má hodnotu true, způsobí nastavení vlastnosti cacheAsBitmapMatrix, že GPU bude používat bitmapu vycházející z transformace matice. GPU používá vyjádření bitmapy i při otáčení nebo změně velikosti objektu. GPU dokáže skládat a animovat tuto bitmapu daleko rychleji, než CPU dokáže překreslit vektorově vykreslený objekt. Pokud bude nastavena pouze vlastnost cacheAsBitmap na hodnotu true, bude objekt zobrazení (a jeho podřízené objekty) uložen do mezipaměti. Objekt zobrazení se nepřekresluje, když jsou zpřístupněny nové oblasti nebo když je převedena celá kombinovaná grafika. Je-li nastavena vlastnost cacheAsBitmapMatrix objektu zobrazení, dokáže aplikace vyjádřit objekt zobrazení i tehdy, pokud objekt zobrazení není viditelný. Na začátku následujícího snímku vytvoří aplikace vyjádření zobrazení objektu uložené v mezipaměti. Když poté přidáte objekt zobrazení na plochu, aplikace jej rychle vykreslí. Aplikace také dokáže rychle animovat otočení objektu nebo změnu jeho velikosti. U objektů s otáčením nebo změnou velikosti nastavte kromě vlastnosti cacheAsBitmap i vlastnost cacheAsBitmapMatrix. Aplikace může rovněž rychle provést alfa transformace objektu uloženého v mezipaměti ve formě bitmapy. Nicméně pro alfa transformace s hardwarovou akcelerací jsou podporovány pouze hodnoty alpha v rozsahu 0 až 1,0. To odpovídá nastavení vlastnosti colorTransform.alphaMultiplier na hodnotu 0 až 256. Nenastavujte vlastnost cacheAsBitmap na hodnotu true u často aktualizovaných objektů, jako jsou např. textová pole. Objekty zobrazení s grafickým obsahem, který se často mění, jsou obecně nevhodné pro vykreslení GPU. To platí zejména pro starší zařízení s méně výkonnými procesory GPU. Kvůli zbytečnému odesílání grafiky do procesoru GPU může být vykreslení pomocí CPU vhodnější. Změňte strukturu objektů zobrazení obsahujících podřízené objekty zobrazení, které se pohybují v závislosti na nadřazených objektech. Upravte je tak, aby se z podřízených objektů zobrazení staly objekty stejné úrovně jako jejich nadřazené objekty. Díky tomu bude mít každý z nich vlastní bitmapové znázornění. Navíc se budou jednotlivé objekty zobrazení moci pohybovat v závislosti na ostatních bez toho, aby bylo nutné odesílat novou grafiku do procesoru GPU. Nastavte vlastnost cacheAsBitmap na hodnotu true na nejvyšší úrovni seznamu zobrazení, v němž nejsou podřízené objekty zobrazení animovány. Jinými slovy to znamená, že je třeba vlastnost nastavit u kontejnerů objektů zobrazení, které neobsahují žádné pohyblivé části. Nenastavujte ji ani u podřízených objektů zobrazení. Nenastavujte ji u pohyblivých symbolů, které obsahují další animované objekty zobrazení. Když nastavíte vlastnost z objektu zobrazení, aplikace vždy použije vyjádření bitmapy uložené v mezipaměti. Kromě toho po nastavení vlastnosti z objektu zobrazení použije aplikace vyjádření bitmapy uložené v mezipaměti, i když objekt otočíte nebo změníte jeho velikost. U objektů zobrazení s nastavenou vlastností z nepoužije aplikace vlastnost cacheAsBitmapMatrix. Stejná pravidla platí při nastavení vlastností objektu trojrozměrného zobrazení, včetně vlastností rotationX, rotationY, rotationZ a transform.matrix3D. U kontejneru objektu zobrazení, na jehož obsah chcete použít hardwarovou akceleraci, nenastavujte vlastnost scrollRect nebo mask. Nastavení těchto vlastností vypíná hardwarovou akceleraci pro kontejner objektu zobrazení
a jeho podřízené objekty. Namísto nastavení vlastnosti mask umístěte na objekt zobrazení, který maskujete, objekt zobrazení masky. Existují omezení týkající se velikost objektů zobrazení, u nichž lze použít hardwarovou akceleraci. U starších zařízení je omezení 1024 pixelů nebo méně na šířku i na výšku. U novějších zařízení je omezení 2048 pixelů nebo méně. Pomocí diagnostického nástroje vykreslení GPU lze otestovat výkon v daném zařízení. Procesor GPU také používá k ukládání bitmapových obrazů paměť RAM zařízení iPhone. To využívá nejméně tolik paměti, kolik je potřeba pro bitmapové obrazy.
Poslední aktualizace 12.5.2011
38
PACKAGER FOR IPHONE Posouzení návrhů aplikací pro zařízení iPhone
Procesor GPU používá přidělení paměti, jež jsou mocninou dvou pro každý rozměr bitmapového obrazu. Procesor GPU může například rezervovat paměť o velikosti 512 x 1 024 nebo 8 x 32. Takže obraz o velikosti 9 x 15 obr. bodů zabere stejné množství paměti jako obraz o velikosti 16 x 16 obr. bodů. U objektů zobrazení uložených v mezipaměti může být vhodnější použít rozměry, které se v každém směru blíží mocnině dvou (ale nejsou větší). Je například mnohem efektivnější použít objekt zobrazení o velikosti 32 x 16 obr. bodů než objekt zobrazení o velikosti 33 x 17 obr. bodů. Nespoléhejte na to, že upravená plocha zmenší datové zdroje, jež byly určeny pro jiné platformy (např. pro stolní počítač). Místo toho použijte vlastnost cacheAsBitmapMatrix, nebo změňte velikost datových zdrojů ještě před jejich publikováním pro zařízení iPhone. Při ukládání povrchového obrazu do mezipaměti ignorují 3D objekty vlastnost cacheAsBitmapMatrix. Proto je lepší změnit velikost objektů zobrazení před jejich publikováním, pokud budou vykresleny na 3D povrchu. V systému dochází ke kompromisu mezi výhodami hardwarové akcelerace a využitím paměti RAM. Když se začne zaplňovat paměť, operační systém iPhone upozorní ostatní spuštěné nativní aplikace zařízení iPhone, aby paměť uvolnily. Zatímco tyto aplikace zpracovávají toto upozornění a snaží se paměť uvolnit, mohou soupeřit s vaší aplikací o cykly jednotky CPU. Tím se může výkon vaší aplikace na chvíli zhoršit. Nezapomeňte aplikaci vyzkoušet na starších zařízeních, neboť ta mohou mít pro spuštěný proces k dispozici podstatně méně paměti. Při ladění aplikace v zařízení iPhone lze povolit diagnostiku vykreslení GPU. Pomocí této funkce uvidíte, jak aplikace využívá vykreslení GPU. Další informace naleznete v kapitole „Ladění aplikace pro zařízení iPhone“ na stránce 24 v části „Ladění pomocí diagnostiky vykreslení GPU“. Informace o používání vlastnosti cacheAsBitmapMatrix naleznete v oddílu „DisplayObject.cacheAsBitmapMatrix“ v části „Rozhraní API jazyka ActionScript určená pro mobilní aplikace AIR“ na stránce 30.
Další způsoby vylepšení výkonu objektů zobrazení Grafický výkon některých tříd objektů zobrazení dokáže urychlit hardwarová akcelerace. Následuje několik tipů, jak grafický výkon maximalizovat:
• Zkuste na ploše omezit počet viditelných položek. Vykreslení a složení položky s okolními položkami určitou dobu trvá. Když už objekt zobrazení nepotřebujete, nastavte jeho vlastnost visible na hodnotu false nebo objekt odstraňte z plochy (metodou removeChild()). Nestačí pouze nastavit vlastnost alpha objektu na hodnotu 0.
• Obecně se snažte vyhýbat režimům prolnutí, zejména režimu prolnutí vrstvy. Kdykoli je to trochu možné, používejte normální režim prolnutí.
• Filtry objektů zobrazení jsou náročné na výpočetní výkon. Používejte je uvážlivě. Například je přijatelné, pokud použijete několik filtrů na úvodní obrazovce. Snažte se ale nepoužívat filtry na velké množství objektů, na právě animované objekty nebo pokud je třeba použít vysoký kmitočet snímků.
• Snažte se nepoužívat tvary morfování. • Snažte se nepoužívat oříznutí. • Je-li to možné, nastavte při volání metody Graphic.beginBitmapFill() parametr repeat na hodnotu false. • Nepřekreslujte. Používejte jako pozadí barvu pozadí. Neumísťujte do vrstev velké objekty jeden na druhý. Každý vykreslený obrazový bod ubírá určitý výpočetní výkon. To platí zejména pro objekty zobrazení bez hardwarové akcelerace.
Poslední aktualizace 12.5.2011
39
PACKAGER FOR IPHONE Posouzení návrhů aplikací pro zařízení iPhone
• Snažte se nepoužívat dlouhé a tenké špičaté tvary, okraje protínající samy sebe nebo velké množství jemných detailů na okrajích. Vykreslení těchto tvarů trvá delší dobu než u objektů zobrazení s hladkými okraji. To platí zejména pro objekty zobrazení bez hardwarové akcelerace.
• Velikosti vytvořených bitmap by se měly přibližovat (ale být menší než) 2n na 2m bitů. Není třeba, aby byly rozměry násobky dvou, měly by se ale násobkům dvou blížit a neměly by být větší. Například obraz o rozměrech 31 x 15 obr. bodů bude vykreslován rychleji než obraz o rozměrech 33 x 17 obr. bodů. (Hodnoty 31 a 15 jsou o něco menší než násobky dvou, hodnoty 32 a 16.) Takové obrazy také využívají efektivněji paměť.
• Omezte velikost objektů zobrazení na rozměr 1024 x 1024 (nebo 2048 x 2048 u novějších zařízení).
Hustota informací I když mají větší hustotu obrazových bodů, je fyzická velikost obrazovek mobilní zařízení menší než u stolních počítačů. Ostřejší text se sice hezky sleduje, mají-li ale být glyfy čitelné, musí mít určitou minimální fyzickou velikost. Mobilní zařízení jsou často používána na cestách nebo za špatných světelných podmínek. Realisticky proto zvažte, jaké množství informací lze na obrazovce čitelně zobrazit. Může jich být méně než u obrazovky se stejnými rozměry v obrazových bodech ve stolním počítači. K zvýraznění důležitých informací použijte typografickou hierarchii. K vyjádření relativní důležitosti elementů uživatelského rozhraní použijte velikost, tloušťku a umístění písma a mezery. V každé úrovni hierarchie lze použít jeden nebo více příznaků. Používejte tyto příznaky konzistentně v rámci aplikace. Příznaky mohou být prostorové (odsazení, řádkování, umístění) nebo grafické (velikost, styl nebo barva písma). Použitím nadbytečných příznaků lze efektivně zajistit jednoznačné vyjádření hierarchie. Pro každou úroveň seskupení ale používejte maximálně tři příznaky. Snažte se zjednodušit vyžadované popisy a vysvětlující text. Obsah textového pole například vyjádřete ukázkovým vstupem a snažte se nepoužívat samostatný popisek.
Písma a zadávání textu Nejlepšího vzhledu dosáhnete použitím písem zařízení. Například zařízení iPhone má následující písma zařízení:
• Serif: Times New Roman, Georgia a _serif • Sans-serif: Helvetica, Arial, Verdana, Trebuchet, Tahoma a _sans • S pevnou šířkou: Courier New, Courier a _typewriter Používejte písma o minimální velikosti 14 obr. bodů. Pro pole upravitelného textu používejte písma zařízení. Písma zařízení v textových polích jsou rovněž vykreslována rychleji než vložená písma. U vstupních textových polí nepoužívejte podtržený text. Rovněž u těchto textových polí nenastavujte zarovnání. Vstupní textová pole v zařízení iPhone podporují pouze zarovnání doleva (výchozí). Pokud u textového pole v aplikaci Flash Professional CS5 použijete nastavení Text TLF, vypněte v nastavení jazyka ActionScript 3.0 ve výchozím navázání knihovnu RSL (Runtime shared library). V opačném případě by totiž aplikace v zařízení iPhone nefungovala a pokoušela se použít knihovnu RSL souboru SWF: 1 Vyberte příkaz Soubor > Nastavení publikování.
Poslední aktualizace 12.5.2011
40
PACKAGER FOR IPHONE Posouzení návrhů aplikací pro zařízení iPhone
2 V dialogovém okně Nastavení publikování klepněte na záložku Flash. 3 Klepněte vpravo od rozbalovacího seznamu Skript (ActionScript 3.0) na tlačítko Skript. 4 Klepněte na záložku Cesta knihovny. 5 Z rozbalovacího seznamu Výchozí navázání vyberte možnost Vnořený do kódu.
Zvažte, zda nemůžete namísto vstupních textových polí implementovat alternativní možnosti. Pokud má například uživatel zadávat číselnou hodnotu, textové pole nepotřebujete. Můžete hodnotu zvyšovat nebo snižovat pomocí dvou tlačítek. Uvědomte si, že určité místo zabere virtuální klávesnice. Pokud je virtuální klávesnice aktivována (například když uživatel poklepá do textového pole), aplikace upraví polohu na ploše. Automatické posunutí obrazu zajistí, že bude vstupní textové pole viditelné:
• Textové pole nahoře na ploše bude přesunuto nahoru do viditelné oblasti plochy. (Viditelná oblast plochy je menší, protože obsahuje i virtuální klávesnici.)
• Textové pole dole na ploše zůstává na nové oblasti plochy dole. • Textové pole v jiné části plochy je přesunuto do svislého středu plochy. Když uživatel klikne do textového pole, aby je upravil (zatímco je zobrazena virtuální klávesnice), odešle objekt TextField událost focusIn. Chcete-li změnit umístění tohoto textového pole, můžete přidat posluchače události pro tuto událost. Jednořádkové textové pole obsahuje tlačítko pro vymazání (vpravo od textu), když uživatel upravuje text. Pokud je však text příliš úzký, toto tlačítko se nezobrazí. Po skončení úprav jednořádkového textového pole uživatel zruší virtuální klávesnici stisknutím klávesy Hotovo na klávesnici. Po skončení úprav víceřádkového textového pole zruší uživatel virtuální klávesnici kliknutím mimo textové pole. Tím přestane být textové pole aktivní pro vstup. Ujistěte se, že návrh zahrnuje při zobrazení virtuální klávesnice oblast mimo textové pole. Jestliže je text příliš velký, nemusí být žádná jiná oblast vidět. Pomocí některých komponent aplikace Flash Professional CS5 lze zamezit zrušení aktivace textového pole pro vstup. Tyto komponenty jsou určeny k použití ve stolních počítačích, kde je toto chování aktivace pro vstup žádoucí. Jednou z těchto komponent je i komponenta TextArea. Když je aktivní pro vstup (a upravuje se), nelze kliknutím na jiný objekt zobrazení její aktivaci pro vstup zrušit. Umístěním jiných komponent aplikace Flash Professional CS5 na plochu lze také zamezit zrušení aktivace upravovaného textového pole pro vstup. Nespoléhejte na události klávesnice. Některý obsah ve formátu SWF navržený pro web například používá klávesnici k ovládání aplikace uživatelem. V zařízení iPhone je ale virtuální klávesnice přítomna pouze tehdy, když uživatel upravuje textové pole. Aplikace pro zařízení iPhone odesílá události klávesnice pouze tehdy, když je přítomna virtuální klávesnice.
Uložení stavu aplikace Aplikaci lze kdykoli ukončit (například když telefon zazvoní). Zvažte, zda chcete při každé změně aplikace ukládat její stav. Nastavení můžete například uložit do souboru nebo databáze ve složce úložiště aplikace. Nebo můžete data uložit do lokálního sdíleného objektu. Při opětovném spuštění aplikace můžete poté její stav obnovit. Pokud aplikaci přeruší telefonní hovor, po ukončení hovoru se aplikace opětovně spustí. Nespoléhejte na to, že objekt NativeApplication při ukončení aplikace odešle událost exiting, protože událost odeslat nemusí.
Poslední aktualizace 12.5.2011
41
PACKAGER FOR IPHONE Posouzení návrhů aplikací pro zařízení iPhone
Změny orientace obrazovky Obsah pro zařízení iPhone lze zobrazovat v orientaci na výšku nebo na šířku. Zvažte, jakým způsobem bude aplikace se změnami orientace obrazovky nakládat. Další informace naleznete v tématu Zjišťování orientace zařízení.
Oblasti dotyku Při návrhu tlačítek a dalších elementů uživatelského rozhraní, na něž budou uživatelé poklepávat, zvažte velikost oblastí dotyku. Tyto elementy mají mít dostatečnou velikost na to, aby je bylo možno na dotykové obrazovce pohodlně aktivovat prstem. Rovněž se ujistěte, zda máte mezi oblastmi dostatečné mezery. Oblasti dotyku by měly mít přibližně rozměry 44 x 57 obrazových bodů.
Přidělování paměti Přidělování nových bloků paměti je výpočetně náročné. Aktivace čištění uvolněné paměti dokáže aplikaci zpomalit nebo může způsobit zpoždění animace nebo interakce. Kdykoli to jde, objekty neodstraňujte a nevytvářejte nové, ale raději je používejte opakovaně. Pamatujte si, že vektorové objekty mají menší paměťové nároky než pole. Viz část Porovnání třídy Vector s třídou Array. Další informace týkající se využití paměti naleznete v tématu Hospodaření s pamětí.
Kreslící rozhraní API Snažte se k vytváření grafik nepoužívat kreslící rozhraní API jazyka ActionScript (třídu Graphics). Kreslící rozhraní API vytváří objekty dynamicky na ploše a poté je vykreslí do rasterizéru. Pokud to lze, tyto objekty namísto toho vytvořte při vytváření obsahu staticky na ploše. Pokud jsou objekty vytvořené pomocí kreslících rozhraní API volány opakovaně, jsou při každém spuštění jazyku ActionScript odstraněny a znovu vytvořeny. Statické objekty ale zůstávají v paměti i v různých časových osách.
Probublávání událostí U hluboce vnořeného kontejneru objektu zobrazení může být probublávání událostí (posun vzhůru) výpočetně náročné. Tuto náročnost lze snížit tím, že událost zcela zpracujete v cílovém objektu a poté voláte metodu stopPropagation() objektu události. Voláním této metody zabráníte, aby událost probublávala vzhůru. Pokud budete volat tuto metodu, neobdrží také tuto událost nadřazené objekty. Chcete-li předejít dlouhým řetězcům událostí, lze zmenšením počtu vnoření objektu zobrazení získat s tím související výhody. Pokud je to možné, registrujte události MouseEvent místo TouchEvent. Události MouseEvent představují pro procesor menší zatížení než události TouchEvent.
Poslední aktualizace 12.5.2011
42
PACKAGER FOR IPHONE Posouzení návrhů aplikací pro zařízení iPhone
Je-li to možné, nastavte vlastnosti mouseEnabled a mouseChildren na hodnotu false.
Optimalizace zobrazení videa Chcete-li optimalizovat přehrávání videa mobilních zařízení, ujistěte se, že při přehrávání videa není aplikace zatížena jinými procesy. Tím umožníte procesům dekódování a vykreslení videa maximální využití CPU. Při přehrávání videa nespouštějte žádný kód jazyka ActionScript nebo jen minimální množství kódu. Vyhněte se spouštění kódu, který se spouští na základě časovače častých intervalů nebo na základě časové osy. Minimalizujte překreslování objektů zobrazení, které nemají podobu videa. Především se vyhněte překreslování objektů zobrazení, které zasahují do oblasti videa. To platí, i když jsou skryté pod videem. I tak se budou překreslovat a využívat zdroje určené ke zpracování. Například použijte jednoduché tvary pro ukazatel polohy a aktualizujte ukazatel polohy několikrát za sekundu spíše než při každém snímku. Nenechávejte ovládací prvky videa překrývat oblast videa. Umístěte je přímo pod oblast videa. Pokud máte animaci ukládání videa do vyrovnávací paměti, neskrývejte ji za video, když se nepoužívá. Nastavte ji jako neviditelnou.
Součásti prostředí Flex a Flash Řada komponent Flex a Flash je určena k použití v počítačových aplikacích. Tyto komponenty, a to zejména komponenty zobrazení, mohou být v mobilních zařízeních pomalé. Kromě toho, že jsou pomalé, mohou mít počítačové komponenty také interakční modely nevhodné pro mobilní zařízení. Společnost Adobe vyvíjí verzi architektury Flex optimalizovanou pro mobilní zařízení. Další informace naleznete na stránce http://labs.adobe.com/technologies/flex/mobile/.
Zmenšení velikosti souboru aplikace Zde je několik tipů, jak zmenšit velikost souboru IPA:
• Kontrolou bitmap pozadí zjistěte, zda mají správnou velikost (nejsou větší, než je třeba). • Zkontrolujte, zda se vkládají některá dodatečná písma. • Podívejte se na datové zdroje PNG kanálů alfa a pokud nejsou třeba, odstraňte je. Pomocí nástroje sloužícího k omezení velikosti PNG zmenšete velikost datových zdrojů PNG.
• Je-li to možné, převeďte datové zdroje PNG na datové zdroje JPG. • Zvažte kompresi zvukových souborů (pomocí nižšího datového toku). • Odstraňte všechny nepoužívané datové zdroje.
Poslední aktualizace 12.5.2011