V predchádzajúcom článku o Xcode projet templates som vás previedol spustením tohto nástroja krok za krokom a poukázal na jeho výhody. Tentokrát vám predstavím ďalšie schopnosti Xcode projekt template-ov, kde pri vygenerovaní projektu budeme mať pripravený podfile s predvyplnenou konfiguráciou. Čo v praxi znamená, že po vygenerovaní vstúpime do projektu cez konzolu, zavoláme
pod install
a projekt bude mať pody nakonfigurované. Toto značne uberie na konfigurácii projektu a štýl podfilu bude jednotný pokiaľ sa jedná o komplexnejšie podfiles.
Ako prvé je potrebné vytvoriť nový template podobne, ako minule v zložke projektových templatov s koncovkou .xctemplate
Tu si najskôr vytvoríme súbor Podfile a dovnútra vložíme pody, ktoré chceme importovať do každého nového projektu.
Všimnite si použitých premenných VARIABLE_VERSION, ktorá nastaví podom minimálnu verziu projektu a PACKAGENAME, ktorá nastaví názov projektu. Pri vytváraní projektu bude VARIABLE_VERSION vstupným parametrom a PACKAGENAME bude prevzaté od názvu projektu.
Následne je potrebné nakonfigurovať TemplateInfo.plist súbor, ktorý prestavuje konfiguráciu template-u
Tu je podstatné si všimnúť si identifier premenne:
- Kind: Typ template-u je projektový
- Concrete: Určuje, či je template viditeľný pri výbere templatu, alebo či je iba súčasťou iného templatu a teda pri výbere viditelný nieje. Tento template použijeme ako súčasť template-u z predošlého článku a teda nastavíme false.
- Identifier: Určuje ID template-u medzi templatami. Toto slúži nato, aby sme vedeli referovať k templatu z iného template-u
- Definitions: Slúži na zadefinovanie premennej, ktorou je v našom prípade súbor Podfile a miesto, kde bude vytvorený v projekte.
- Definitions\Path: Slúži, ako cesta ku súboru v zložke templatov
- Definitions\Group: Slúži, ako cesta ku súboru po vytvorení nového projektu. Ak ide o viac vnorení treba ju zadefinovať ako array stringov kde každý string prestavuje jedno vnorenie cesty
- Options: Tu máme zadefinované všetky vstupy používateľa templatu pri vytváraní. Je tu checkbox či chceme zahrnúť podfile a verzia iOS ako textový vstup.
- Options\Identifier: ID optionu. K tomu sa da dostať zo súborov cez VARIABLE_VERSION__ kde namiesto VERSION vložite názov vášeho vstupu.
- Options\Name: Názov poľa
- Options\Desciption: Tooltip poľa
- Options\SortOrder: Určuje pozíciu poľa vo formulári template-u
- Options\Type: Určuje typ používateľského vstupu
- Options\Default: Určuje defaultnú hodnotu
- Options\Units: Určuje aké súbory vyberie template v rámci logického vetvenia, v tomto prípade v rámci checkboxu je to buď true alebo false pričom, ak je možnosť false nevyberie žiadne súbory a teda nie je v našom prípade nutné možnosť definovať.
- Options\Required: Určuje, či je možne vytvoriť projekt aj nevyplnenou možnostou
- Options\NotPersisted: Určuje či si bude template pamätať poslednú vyplnenú možnosť
Tento template chceme teraz vložiť do nášho projektového templatu z minulého návodu.
Výsledok bude takýto:
Jedine v čom sa tieto súbory líšia je kľuč ancestors kde pridáme Identifier z templatu, ktorý sme práve vytvorili.
Teraz už stačí iba vytvoriť projekt cez template a vykonať nad repozitárom pod install a je to 🙂
Ďakujem za pozornosť.