2 nástroje, které vám zjednoduší práci s certifikáty a assety při vývoji iOS aplikací
5. srpna 2020
Za posledních pár let jsme v našem týmu iOS vývojářů vyzkoušeli velké množství knihoven a nástrojů. Některé jsme vyhodnotili jako zbytečné, k jiným se vracíme při řešení některých specifických problémů. Hrstka z nich se zařadila mezi absolutní základ, který používáme na všech projektech už od jejich úplného začátku. A pořádně nám usnadňují práci.
Mezi ty nepostradatelné nástroje patří i Fastlane Match a R.swift, se kterými se vám vyplatí seznámit. První zmíněný usnadňuje nekonečný boj s certifikáty, druhý zase zásadním způsobem zvyšuje efektivitu při používání assetů, jako jsou obrázky, soubory, překlady a podobně.
Fastlane Match
Každý menší tým už na to určitě někdy narazil. Vyvine se aplikace, všechno se otestuje a pustí do světa. Uživatelé začnou aplikaci stahovat a najednou se objeví kritický bug. Ale co čert nechtěl, kolega, který aplikaci vyvíjel, je zrovna na dovolené.
Oprava bugu se přiřadí někomu jinému z týmu. Ten otevře projekt a zjistí, že nemá potřebné certifikáty pro podpis aplikace. Má je samozřejmě jenom jeho kolega, který si na dovolenou nevzal notebook.
Proto je musí smazat, vytvořit si nové, a až se mu kolega vrátí z dovolené, musí si vzpomenout, že mu je má vyexportovat a poslat, aby za týden neřešil ten samý problém znovu.
Přesně pro tyto případy je tu Fastlane Match. Je to nástroj pro snadnou správu a sdílení certifikátů a provisioning profilů. Dokáže se připojit na vývojářský účet od Applu, vytvořit potřebné certifikáty a provisioning profily pro danou aplikaci a potom tyto certifikáty nainstaluje na lokální zařízení. Zároveň je nahraje do soukromého repozitáře, odkud si je může stáhnout zbytek týmu.
Začít s Fastlane Match je extrémně jednoduché. Nejprve ho nainstalujete pomocí příkazu:
sudo gem install fastlane
A poté přejdete do kořenové složky projektu, kde stačí napsat příkaz:
fastlane match init
Ten se ještě zeptá na adresu k soukromému repozitáři, kam se budou ukládat vygenerované certifikáty. Následně vytvoří nový soubor se jménem Matchfile. V základu toho v sobě moc nemá, ale po jednoduché konfiguraci může vypadat třeba takto:
Fastlane Match vygeneruje nové certifikáty a provisioning profily v případě nového projektu nebo je jenom stáhne z repozitáře a nainstaluje na lokální zařízení. Podle potřeby je kromě development dostupné i appstore, enterprise nebo adhoc.
Skript spouštěný při každém buildu aplikace prohledá celý projekt a najde v něm veškeré zdroje jako obrázky, fonty, překlady nebo storyboardy. Vytváří reference na tyto zdroje v souboru nazvaném R.generated.swift.
Výsledkem je, že například místo načítání obrázku z asset katalogu pomocí jeho jména může jeho získání vypadat takto:
Pokud by se obrázek někdy z projektu smazal nebo se přejmenoval, nepůjde přeložit a programátor dostane hlášení o chybě.
Plně funguje autocomplete.
Není potřeba přetypovávat. Pokud vytváříme třeba UITableViewCell pomocí R.swift, má správný typ.
Další situace, kdy má použití této knihovny velký přínos, jsou lokalizace, u kterých mohou snadno vzniknout stovky nebo i tisíce klíčů. Jejich zápis se potom změní z tohoto:
Oba nástroje nám v Dactylu zásadně zefektivňují práci. Proto budu rád, když článek nasdílíte kolegům, kterým by mohl pomoct. A jestli máte své „zlepšováky“, určitě nám o nich napište na Facebooku!
Kontrolní otázka, co jsou cookies? Vyberte správnou odpověď.
Cookies nejsou sušenky, ale textové soubory
Chceme mít přehled, jak to na našem webu žije. Vy ale máte ve své moci, kolik se toho o vaší zdejší návštěvě dozvíme.
Jako vývojáře webů a aplikací nás zajímají analytická data, budeme proto vděční za váš souhlas.
Nastavení cookies
Vyberte vámi preferované povolení cookie, přičemž základní jsou nezbytné pro fungování, jiné můžeme používat jen s vaším souhlasem.
Vaše osobní údaje budou zpracovány a informace z vašeho zařízení (soubory cookie, jidinečné identifikátory a další údaje zařízená) mohou být uchovávány.
Svůj názor můžete vždy změnit a souhlas odvolat pomocí odkazu v patičce tohoto webu. Pro více informací o používání cookies prosím naštivte tuto stránku.