Xcode 4: akční schémata - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Jaký fotograf/ka získal/a cenu za nejpopulárnější příspěvek v Nikon Photo Contest?

V dnešní soutěži hrajeme o:

Seriály

Více seriálů



Informace

Xcode 4: akční schémata

9. listopadu 2011, 00.00 | Minule jsme si vysvětlili, čemu se v Xcode říká "schéma", co je jeho obsahem a jak se to používá. Dnes povídání o schématech dokončíme.

Dnes se budeme zabývat popisem editorů nastavení v rámci zvoleného schématu pro pět konfigurovatelných "akcí" Xcode – "Run", "Test", "Profile", "Analyze" a "Archive".

U všech pěti akcí Xcode funguje týmž způsobem: nejprve spustí sestavení všech cílů, jež jsou pro danou akci označeny v tabulce bloku "Build", již jsme si ukázali minule (a jsou-li zde zvoleny nějaké skripty či zprávy před a po buildu, provede/odešle je). Pak akci provede podle jejího vlastního nastavení (a případně provede/odešle její skripty/zprávy).

Nastavení akce "Run"

Zde je nejvíce a nejsložitějších možností; jsou rozděleny do trojice samostatných panelů. Prvý z nich, označený "Info", obsahuje základní nastavení pro spouštění a ladění programů:

Význam jednotlivých přepínačů je dost zřejmý:

Build Configuration umožňuje zvolit konfiguraci, jež se pro sestavení cíle (nebo cílů) použije. Konfiguracemi jsme se už podrobně zabývali a víme, že jich v projektu můžeme mít libovolně mnoho; běžné jsou ale dvě – "Debug" a "Release". Pro ladění má v naprosté většině případů smysl ta prvá; výjimečně, když narazíme na nějakou chybu, jež se vinou odlišného nastavení projeví pouze pro "Release", můžeme ji zde přepnout – nebo, což je obvykle asi pohodlnější, vytvořit si nové schema, v něm změnu provést, a pak mezi schématy podle potřeby přepínat;

• Pomocí Executable zvolíme program, který se při ladění má spustit. Většinou to samozřejmě bývá sestavovaná aplikace; u sdílených knihoven, pluginů apod. ovšem budeme volit jiný program – ten, v jehož prostředí plugin či knihovnu chceme testovat. Zatímco v Xcode 3 mohlo být "executables" libovolně mnoho, zde máme k dispozici pouze jedinou volbu – potřebujeme-li jich více, je ovšem řešením sestavit několik různých schémat a v každém zvolit "executable" odlišné;

Debugger je prostě volba ladicího systému; v současnosti jsou k dispozici dva, klasické GDB a nový LLDB. Ve většině případů se spíše vyplatí LLDB, který mj. podporuje zápis atributů (tj. "objekt.atribut") do příkazové řádky v konsoli;

Launch umožňuje zvolit, zda má debugger aplikaci spustit automaticky, nebo zda počká, až ji spustíme ručně a připojí se k ní – to se může hodit zvláště v případě, kdy aplikaci chceme spustit nějakým speciálním způsobem, např. v iOSu prostřednictvím notifikace;

Working Directory má v praxi smysl obvykle jen při ladění řádkových programů v Mac OS X, kde umožňuje specifikovat složku, již Xcode před spuštěním nastaví jako "aktuální" (aplikace s GUI aktuální složku sice technicky využívat mohou také, ale z řady důvodů tak typicky nečiní);

• podobně UI Resolution má smysl pro Mac OS X a nabízí testování v prostředí virtuálního rozlišení obrazovky.

Druhý panel obsahuje trojici tabulek, jejichž prostřednictvím můžeme detailně řídit chování debuggeru při vlastním spouštění programu:

• v tabulce Arguments Passed On Launch zadáme argumenty příkazového řádku, jež je zapotřebí předat programu při spuštění: můžeme vložit libovolný počet řádků, jejichž obsah Xcode zřetězí, ale vybere pouze ty, jejichž přepínač při levém okraji je aktivován. Jakkoli je tato služba primárně určena pro práci s řádkovými programy, může se velmi dobře hodit i při ladění aplikací, kde jejím prostřednictvím nastavíme uživatelské předvolby v argumentové doméně (co že to je? O tom už jsme se bavili poměrně dávno);

• podobně můžeme v tabulce Environment Variables nastavit proměnné prostředí, v němž má být program spuštěn. Mac OS X (a v poněkud menší míře i iOS) podporuje řadu šikovných proměnných; asi nejběžnější zde je využití zombies, jež vidíme na obrázku. Je ovšem vhodné se zároveň zmínit o tom, že Apple spíše doporučuje využívat služeb aplikace Instruments v bloku "Profile", k němuž se dostaneme později;

• poměrně málokdy využíváme Module Names To Load Symbols For – zde můžeme zadat vzorce, jež určují, pro které moduly debugger načte symbolická data.

Konečně pak třetí obrazovka nabízí předdefinované přepínače, jež nastaví nějakou proměnnou prostředí, jejíž jméno si díky tomu nemusíme pamatovat :) – např. "scribble" přepíše uvolněný blok paměti hodnotou 0x55 apod.:

Na podrobný popis jednotlivých služeb zde není místo; vrátíme se k nim případně někdy časem, až se budeme podrobně zabývat možnostmi a triky pro ladění programů a hledání chyb (kdy si také podrobněji popíšeme výše zmíněné "zombies").

Nastavení akce "Test"

Tato akce se do jisté míry podobá akci "Run", je ale jednodušší: nalezneme zde pouze dva panely, "Info" a "Arguments".

Prvý z panelů obsahuje stejné ovladače Build Configuration a Debugger s týmž významem. Vedle nich je zde už jen velká tabulka, v níž můžeme vybrat testy, jež se mají provádět – na obrázku je jiný projekt, který, na rozdíl od toho, jímž ilustrujeme ostatní odstavce, nějaké testy obsahuje:

Druhý z panelů funguje přesně stejně jako v akci "Run"; natolik, že jej tvůrci Xcode moudře opatřili přepínačem Use the Run action's options, jenž prostě zajistí, že cokoli nastavíme pro "Run", to platí i jinde:

Nastavení akce "Profile"

Akce "Profile" se od akce "Run" téměř neliší; jediný rozdíl spočívá v tom, že namísto ladicího programu je to, co ladíme, spuštěno pod řízením universální profilovací aplikace "Instruments" (také se jí budeme časem věnovat, ale zatím máme řadu mnohem aktuálnějších témat).

Panel "Info" se proto od panelu akce "Run" liší pouze v jediném bodě – namísto výběru debuggeru je zde výběr "instrumentu" (tedy předvolené skupiny testů a nastavení), který se má pro běh použít:

V praxi je asi nejběžnější využít výběru při spuštění, který je také výchozí hodnotou; může se ale obšas hodit v rámci konkrétního schématu vybrat některý z "instrumentů" napevno.

Panel "Arguments" už si ani nebudeme ukazovat; vypadá i funguje stejně jako v akci "Test", včetně přepínače Use the Run action's options.

Nastavení akce "Analyze"

Tato akce má vůbec nejjednodušší nastavení: není ničím více, než pouze sestavením zvolených cílů (přičemž sestavení proběhne ve speciálním režimu překladače, při němž se LLVM snaží staticky analyzovat kód a vyhledávat podezřelé konstrukce – což je v praxi stejně z 99 % k ničemu, ale to zde nemá smysl řešit).

Jediné, co tedy lze v panelu vybrat, je konfigurace, již překladač k sestavení použije, Build Configuration; to asi není zapotřebí ilustrovat :)

Nastavení akce "Archive"

Poslední z akcí je jen o málo složitější: jelikož jejím účelem je připravit sestavení pro testery nebo pro AppStore, obsahuje vedle Build Configuration jen dvě další nastavení:

• jméno archivu, do nějž se má výsledek uložit;

• přepínač, který nám umožní si vybrat, zda se má automaticky otevřít okno "Organizer" a zobrazit nově vytvořený "archiv" nebo ne.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Tipy a Triky  

 » Rubriky  » Začínáme s  

 » Rubriky  » Software  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: