Fastlane automatizácia

Konečná cesta aplikácie do Appstore je sprevádzaná určitými krokmi, ktoré sú časom dosť repetívne a otravné. Čo všetko treba obetovať kým aplikáciu dostanete len na Testflight?

Old way

V prvom rade treba vybuildovať aplikáciu a archivovať. Samotná archivácia môže chvíľu trvať, záleží od komplexnosti aplikácie a použitých knižníc. Archív putuje do Xcode organizéra.

Xcode organiser

Odtiaľ sa opäť treba preklikať a distribuovať aplikáciu cez sériu next next next a konečne vytúžená obrazovka na nahratie build do Apple.

A tu už len dúfať, že upload prejde bez chýb.

Fastlane approach

Prvý spôsob je dosť otravný a dlho sa ťahá. Našťastie bolo zopár šikovných ľudí, ktorý sa brutálne naštvali a vytvorili nástroj Fastlane.

Ako funguje? Use case je nasledovný – otvorím príkazový riadok, napíšem simple príkaz a Fastlane urobí všetko podľa definovaných „lanes“ sám a automaticky. Napríklad, mám verziu, ktorú chcem dostať na Testflight. Jedným príkazom Fastlane vytvorí chanelog so zmenami, v okamihu zvýši čislo buildu, následne skompiluje kód, potom nahrá build do Appstore a počká na správu od Apple, či je build pripravený na testovanie. A to všetko len jedným príkazom !!!

No dobre, znie to super, ako to dostanem do projektu? Na stránke je v celku zrozumiteľný návod. Po inštalácii Fastlane stačí v root priečinku zavolať príkaz fastlane init.

Sprievodcu je potrebné si vyklikať. Po inicializácii Fastlane vytvorí priečinok „fastlane“ so štyrma súbormi. Dôležité sú Appfile, ktorý obsahuje konfiguračné premenné (team_id, apple_connect_id …) a Fastfile s definovaným správaním. Jedna z možných konfigurácii môže byť nasledujúca.

default_platform(:ios)

ipa_destination  = "../application.ipa"
dsym_destination   = "../application.app.dSYM.zip"

platform :ios do
  desc "Push a new beta build to TestFlight"
  lane :beta do
    #sync_code_signing
    changelog = prompt(text: "Changelog: ")
    increment_build_number(
      build_number: latest_testflight_build_number + 1,
      xcodeproj: "app.xcworkspace"
    ) 
    build_app(workspace: "app.xcworkspace", scheme: "app.xcworkspace", xcargs: "-allowProvisioningUpdates")
    upload_to_testflight(changelog: changelog)
  end

  after_all do |lane|
    File.delete(ipa_destination)
    File.delete(dsym_destination)
  end
end

Po nastavení konfiguračného súboru a Fastfile je možné zavolaním príkazu fastlane beta spustiť celý proces. Po dokončení bude aplikácia pripravená na Testflight.

Share

Mohlo by sa Vám tiež páčiť...

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená.