Създаването на софтуер за iOS е нещо повече от писане на Objective-C или Swift код - включва разбиране как работи UIKit, как се правят сертификати, как да публикувате приложението си в магазина, как да се справяте с отзиви за приложения и др. Ако смятате, че този вечен списък със задачи е изтощителен, някаква автоматизация в работния процес е точно това, от което се нуждаете.
Известни Fastlane , инструментът, предназначен да ви спести минути или дори часове при всяко внедряване.
Fastlane ви помага да автоматизирате процеса на изпращане на бета компилации в Crashlytics, TestFlight, App Store и др.
В тази статия ще научите как можете да използвате Fastlane за автоматизиране на работния процес на внедряване на вашето приложение за iOS. Въпреки че ще се съсредоточим върху аспекта на iOS на този инструмент, Fastlane работи също толкова добре за автоматизиране на разработката на Android.
Има няколко метода за инсталиране, от които можете да избирате, в зависимост от това, което намирате за най-лесно. Ако имате Homebrew инсталиран и конфигуриран, инсталирането на Fastlane изисква само една команда:
brew cask install fastlane
В противен случай Fastlane е инструмент, базиран на Ruby, gem
винаги е опция:
sudo gem install fastlane -NV
Или винаги можете да изтеглите Fastlane от официален уеб сайт .
След като инсталирате Fastlane, стартирайте fastlane init
в директорията на вашия проект и следвайте инструкциите.
С инсталиран Fastlane вече можете да пишете Ruby скриптове стъпка по стъпка какво трябва да направите, за да стигнете до изпълнението си там, където искате. Това се прави с помощта на действия, инструменти и ленти.
Fastlane работи, като в основата си има инструменти, които му помагат да изгради вашето приложение. В допълнение към инструментите за изграждане, има над 170 вградени интеграции с услуги като Crashlytics, HockeyApp, TestFlight и други приставки, които трети страни правят и публикуват, за да можете да се свързвате с други услуги и други.
По същество получавате основните инструменти, които ви позволяват да изпълнявате различни задачи: от правенето на автоматични екранни снимки до тяхното кадриране и качването им в магазина, те ви позволяват да стартирате автоматично всичките им тестове, преди да създадете приложението.
Действия те са основните инструменти, които Fastlane има, а приставките са начин за добавяне на действия на трети страни към вашата конфигурация Fastlane.
Fastlane използва ленти, които основно групират последователно списък от действия или плъгини, за да можете да получавате един и същ резултат всеки път.
Когато изпълнявате лента, всяко действие ще експортира променлива на околната среда и следващите действия автоматично ще получат тези променливи, за да поддържат процеса. Например, като се използва действието gym
ще доведе до пътя на файла .ipa
се генерира и използва crashlytics
ще има достъп до това местоположение .ipa
за да качите този файл във вашата система за разпространение на бета услуги.
Започвате с нов клиент на ApeeScape, който иска много просто приложение. Дизайнът е направен и приложението може да бъде кодирано за няколко седмици. Следващата стъпка е да започнете да го кодирате и по време на итерацията ще изпращате бета приложение на всеки две седмици до клиента, за да може той да види напредъка си и да ви даде обратна връзка за това как работят нещата.
Всеки път, когато изпращате бета версия на клиента, ще трябва да преминете през основен контролен списък: подписване на приложението, качване в бета услуга, добавяне на нова версия към него и т.н. Добавете към това нещата, които трябва да направите веднъж (всяка година): подписване на сертификати, подписване на сертификати за push известия (ако е необходимо) и др.
С Fastlane всичко това вече може да се случи автоматично!
Например трябва да създадете сертификати за подписване и профили за предоставяне, за да споделяте приложението си чрез Crashlytics Beta.
Fastlane има действие, наречено match
който, след като го конфигурирате, прави следното:
Настройката е проста.
Първо, стартирайте fastlane match init
за да започнете и след като настроите вашето Git хранилище, просто се обадете fastlane match adhoc
за да получите ad hoc профил за осигуряване или да стартирате fastlane match appstore
за да получите сертификат за App Store.
Предимствата от използването на match
са, че можете много лесно да синхронизирате сертификати между компютри - и между съотборници - без повече да се налага да оттегляте сертификати и скоростта, която получавате. Просто тичам fastlane match appstore
ви издава сертификат за няколко секунди.
Е, сега имаме сертификатите и осигуряването, от което се нуждаем, нека започнем с Crashlytics.
Типичен работен поток за подаване на вашето заявление до Fabric Crashlytics включва следните стъпки:
Fastlane заменя задачата с това:
platform :ios do lane :beta do match(type: “adhoc”) gym crashlytics end end
Сега се изпълнява fastlane beta
този скрипт ще започне от вашия терминал.
Първо, тя ще стартира match
, действие, което обработва създаването и актуализирането на подписване на сертификати и профили за осигуряване, след това се нарича gym
, действие, което изгражда и пакетира приложението за вас, използвайки същите сертификати и профили, създадени преди това, и накрая, crashlytics
, които ще вземат това .ipa
подписа и го качете в услугата Crashlytics.
Всички тези стъпки винаги се извикват в същия ред, което прави получения файл по-предсказуем и намалява грешките.
MacBook-Pro:TestProject user$ fastlane beta +------+-------------------------------------+-------------+ | fastlane summary | +------+-------------------------------------+-------------+ | Step | Action | Time (in s) | +------+-------------------------------------+-------------+ | 1 | Verifying required fastlane version | 0 | | 2 | match | 57 | | 3 | gym | 592 | | 4 | crashlytics | 195 | +------+-------------------------------------+-------------+ [20:25:13]: ¡fastlane.tools acaba de salvarte 14 minutos!
Това беше основна настройка за това как да стартирате Fastlane, за да подадете заявлението си в Crashlytics. Какво друго можем да автоматизираме?
Можем например да установим, че всеки път, когато изпращаме бета версия, искаме да увеличим номера на версията на компилация.
когато обмисля какъв тип бизнес субект да създаде, предприемачът взема предвид следното
Това може да се постигне с помощта на действие, наречено increment_build_number
които могат да бъдат извикани от терминал с помощта на fastlane run increment_build_number
или използвайте онлайн в нашата бета лента:
platform :ios do lane :beta do increment_build_number match(type: “adhoc”) gym crashlytics end end
Честито! Вече имате автоматизиран скрипт за внедряване, който също увеличава номера на версията на компилация. Единственото предупреждение е, че след като извикате тази лента, ще имате модифицирани файлове във вашия проект (или поне тези, които включват номера на компилация).
В случай че все пак сте планирали да направите тази промяна в хранилището, има действие за това: commit_version_bump
. Това действие ангажира файловете с новия номер на версията.
platform :ios do lane :beta do increment_build_number match(type: 'adhoc') gym crashlytics commit_version_bump( xcodeproj:'myProject.xcodeproj', ) end end
Това ще изпрати файлове със съобщение за потвърждение като това 'Версия Bump to 27'.
Е, ако сте стигнали дотук, можете за нула време да имате автоматично внедряване на Crashlytics, което ще ви спести безброй часове в дългосрочен план. Най-добрата част за това е, че ако искате да изпратите приложението си към TestFlight, всичко, което трябва да направите, е да промените crashlytics
от pilot
.
Или можете да създадете отделна лента за това:
platform :ios do lane :beta-testflight do increment_build_number match(type: 'adhoc') gym pilot commit_version_bump( xcodeproj:'myProject.xcodeproj', ) end end
Fastlane е лесен и лесен за използване. И все пак това носи невероятна стойност за вашия работен процес обичайно развитие на iOS Като ви пречи да правите дребни неща и часове от времето си, които в крайна сметка бихте загубили.
Надявам се, че това въведение за Fastlane ще ви бъде полезно. Можете да проверите официална документация за повече информация относно Fastlane, особено списъка с Действия ако търсите вдъхновение за това, което бихте могли да автоматизирате за настоящите и бъдещите си проекти за iOS.