iOS

Xcode project templates Vol. 3: Ako automatizovať konfiguráciu swiftlintu a swiftgenu

Ako z názvu vyplýva v tomto článku ti ukážem návod, ako pridať runskripty a hotovú konfiguráciu swiftlintu a swiftgenu do projektu cez projektovú šablónu.

Andrej Jaššo5 Oct 2021

Skripty v projektoch väčšinou vyzerajú veľmi nekonzistentne v závislosti od počtu ľudí, ktorí nastavujú projekty. Ak však vždy použijete ten istý template nie je sa kde pomýliť. Takto vyzeral náš template v prechádzajúcom článku o Xcode Templates.

Možno ste si všimli, že som pridal novú sekciu, ktorú môžete vidieť nižšie ⬇️

Toto je kvôli novému Xcode 13. Avšak dnes budeme pridávať do šablóny úplne novú sekciu Targets.

Kľúč Targets určuje zoznam projektových targets, ale my použijeme len jeden konkrétny a to ten predvolený hlavný target aplikácie, ktorú tvoríme. Pre toto je potrebné určiť ID targetu, ktoré je:

Následne zadáme kľúč build phases, ktorý je opäť zoznam z tabu buildphases projektu.

Do premennej Name zadajte názov scriptu. S názvom sa môžete vyhrať a zadať aj rôzne emoji, ktoré vás hneď vizuálne ku skriptu nasmerujú.

  • SortOrder určí poradie scriptov.
  • Class musí byť pri štandardných sh scriptoch ShellScript
  • ShellPath štandardne takisto /bin/sh
  • ShellScript spúšťa knižnicu a zadávame cestu ku konfiguračnému súboru.

V rámci scriptov SWIFT_LINT_CONFIG určuje cestu ku konfiguračnému súboru, rovnako aj ANY_LINT_CONFIG a SWIFT_GEN_CONFIG.

Swiftgen lokalizácie by mali byť nastavené až po vybraní lokalizácii a základného jazyka appky. Ale pravdepodobný setup je aj tak uvedený v template.

Swiftlint može napísať podľa seba ale aj keď do konfiguračného súboru neuvediete nič. Swiftlint si zoberie prevolenú konfiguráciu.

Následne si do zložky pridáme swiftgen súbory a swiflint konfiguračný súbor do nodes:

Do definitions pridáme:

Výsledok vyzerá nasledujúco:

Takto môže vyzerať hotový projekt a jeho buildphases, ktorý sme dnes vytvorili ⬇️

Voilà. Po nahodení SPM dependency a nainštalovaní podov máme vygenerované assety a nad projektom beží swiftlint.

Takéto scripty sa dajú nabaľovať veľmi jednoducho pridaním ďalších build-phases.

Plne vypracovaný template ako aj prechádzajúce templaty nájdete na našom githube.

Takisto tam nájdete templaty ktoré sú pokročilejšie oproti týmto. Na hlavnej branch, tak neváhajte a vyskúšajte si to.

Andrej Jaššo5 Oct 2021