Xcode project templates 2: Ako na automatickú konfiguráciu projektu
Technology
3
 min read
October 4, 2021

Xcode project templates 2: Ako na automatickú konfiguráciu projektu

Andrej Jasso
Andrej Jasso
iOS Developer

Pri každom zakladaní nového projektu trvalo celý pracovný deň, kým som ho pripravil pre vývoj. Až kým som neobjavil šablóny. Xcode šablóny sú tu už od čias Xcode 4, avšak dozvedel som sa o nich až nedávno a úplne zmenili spôsob, ako sa pozerám an tvorbu projektu. Skús si ich somnou a nové projekty budú zrazu o to jednotnejšie a udržiavanejšie.

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ť.

Like what you see?
Join our newsletter.

Great! Welcome to newsletter.
Oops! Something went wrong while submitting your email.
High quality content once a month. No spam, we promise.
Your personal data is processed in accordance with our Memorandum on Personal Data Protection.

Páči sa vám náš content?
Odoberajte newsletter.

Great! Welcome to newsletter.
Oops! Something went wrong while submitting your email.
Vaše osobné údaje sú spracované v súlade s našim Memorandom na ochranu osobných údajov.