iOS aplikazioak eraikitzeko eta entregatzeko ezaugarriak
Artikulu honetan, erabiltzaileei iOS aplikazioak muntatu eta entregatzeko esperientzia partekatzen dugu, Plarium Krasnodar estudioak CI/CD arazketa prozesuan pilatu duena.
Prestakuntza
Apple gailuetarako aplikazioen garapenean modu batean edo bestean parte hartzen duen pertsona guztiek baloratu dute dagoeneko azpiegituraren erosotasun eztabaidagarria. Zailtasunak nonahi aurkitzen dira: garatzaileen profilaren menutik hasi eta arazketa eta eraikitze tresnetara.
Interneten "oinarrizkoei" buruzko artikulu ugari daude, beraz, gauza nagusia nabarmentzen saiatuko gara. Hona hemen zure aplikazioa behar bezala eraikitzeko behar duzuna:
bakarrarekin sortutako aplikazioa ID (Kontuan izan behar da Bundle Identifier-aren garrantzia, komodinaren IDa erabiltzeak ezinezko egiten baitu aplikazioaren funtzio asko erabiltzea, adibidez: Domeinu elkartuak, Push jakinarazpenak, Apple Saioa hasi eta beste batzuk);
Garatzaile-ziurtagiria Keychain bidez sortu behar da edozein macOS gailutan. Ziurtagiri mota oso garrantzitsua da. Aplikazio-ingurunearen arabera (Dev, QA, Staging, Production) desberdina izango da (Garapena edo Banaketa), baita aplikazioaren sinadura profil mota ere.
Profil mota nagusiak:
Garapena - garapen-taldearen aplikazioa sinatzeko xedea, Garapen-ziurtagiria erabiltzen da (iPhone Developer izena: XXXXX);
Ad Hoc - QA sailak proba-aplikazio bat sinatzeko eta barne egiaztapena egiteko pentsatuta, garatzailearen Banaketa-ziurtagiria erabiltzen da (mota izena iPhone Banaketa: XXXXX);
App Store - askatu TestFlight bidez kanpoko probak egiteko eta App Storera kargatzeko, garatzailearen Banaketa ziurtagiria erabiltzen da.
Garapena eta Ad Hoc profilak sortzerakoan ere adierazten da gailuen zerrenda, zeinean eraiki dezakezun, erabiltzaileen sarbidea gehiago mugatzeko aukera ematen duena. App Store profilean ez dago gailuen zerrendarik, beta proba itxietan sarbide-kontrola TestFlight-k kudeatzen baitu, geroago aztertuko dena.
Argitasuna lortzeko, garatzailearen profila aurkez dezakezu beheko taula baten moduan. Horri esker, errazago uler daiteke zein parametro behar ditugun muntatzeko eta nondik lortu.
muntaia
Asanbladak proiektuaren eta ingurunearen arabera bereiztea errazteko, bezalako profil izenak erabiltzen ditugu ${ProjectName}_${Instance}, hau da, proiektuaren izena + instantzia (aplikazio-ingurunearen araberakoa da: Dev, QA, GD, Staging, Live, eta abar).
Eraikitze-zerbitzarira inportatzen denean, profilak bere izena ID esklusibo batera aldatzen du eta karpetara eramaten da /Users/$Username/Library/MobileDevice/Provisioning Profiles (Non $Username eraikuntza zerbitzariaren erabiltzaile-kontuaren izenari dagokio).
*.ipa fitxategi bat eraikitzeko bi modu daude: ondarea (PackageApplication) eta modernoa (XcAchive sortu eta esportatu bidez). Lehen metodoa zaharkitutzat jotzen da, 8.3 bertsioaz geroztik aplikazioaren fitxategien paketearen modulua Xcode banaketatik kendu baita. Erabiltzeko, Xcode zaharretik (8.2 bertsioa eta aurrekoak) modulua kopiatu behar duzu karpetara: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/
$Method — entrega-metodoa, aplikazioaren sinadura profil motari dagokio, hau da, Garapenerako balioa garapena izango da, Ad Hoc - ad-hoc eta App Store - app-store.
$DevAccName и $ProfileId — Garatzaile-izena eta sinadura-profilaren ID ezarpenak, aurretik erabili ziren eta esportazio-ezarpenetako balioekin bat etorri behar dute.
$TeamID — hamar zifrako IDa garatzailearen izenaren ondoren parentesi artean, adibidez: iPhone Garatzailea: …… (XXXXXXXXXX); Keychain-en egiaztatu daiteke.
Ondoren, esportazio komandoa erabiliz, beharrezko *.ipa fitxategia lortuko dugu:
Orain bildutako fitxategia azken erabiltzaileari entregatu behar zaio, hau da, gailuan instalatu.
Garapen eta Ad Hoc eraikuntzak banatzeko zerbitzu asko daude, hala nola HockeyApp, AppBlade eta beste batzuk, baina artikulu honetan aplikazioak banatzeko zerbitzari autonomo bati buruz hitz egingo dugu.
iOS-erako aplikazioa instalatzea 2 fasetan egiten da:
Aplikazioaren instalazioaren manifestua Items Zerbitzuaren bidez jasotzea.
*.ipa fitxategia HTTPS bidez manifestuan zehaztutako informazioaren arabera instalatzea.
Horrela, lehenik instalazioaren manifestua sortu behar dugu (fitxategi mota *.plist) komandoarekin:
Parametroa $ipaUrl *.ipa fitxategia deskargatzeko esteka zuzena dauka. iOS-en zazpigarren bertsiotik aurrera, aplikazioa HTTPS bidez instalatu behar da. Zortzigarren bertsioan, manifestuaren formatua zertxobait aldatu da: aplikazioen ikonoen ezarpenak dituzten blokeak.
<images>
<image>...</image>
</images>
Horrela, aplikazioa instalatzeko, nahikoa da HTML orrialde sinple bat honelako esteka batekin:
non apiKey и apiIssuer izan eremu-balioak API gakoak sortzeko orrialdetik.
Ondoren, baliozkotze arrakastatsuan, aplikazioa komandoarekin kargatuko dugu --upload-app parametro berdinekin.
Aplikazioa Applek egun batean edo bitan probatuko du eta, ondoren, kanpoko probatzaileentzako eskuragarri egongo da: posta elektronikoz instalatzeko estekak bidaliko zaizkie.
Altool bidez aplikazio bat deskargatzeko beste modu bat aplikazioaren pasahitz espezifikoa erabiltzea da.
Aplikazioaren pasahitz zehatza lortzeko, joan behar duzu link eta sortu Segurtasuna atalean.
Ondoren, eraikitze-zerbitzariaren erregistro bat sortu beharko zenuke Keychain-en pasahitz honekin. Xcode-ren 11. bertsiotik hau komandoarekin egin daiteke:
Parametro-balio gisa -p balioa har dezakezu $AppPswd zifratu gabeko forman (esplizituan).
Hala ere, lehen esan bezala, errendimenduaren ikuspuntutik, hobe da altool baimentzeko API gakoa hautatzea, Xcode-ren bertsio ezberdinek arazo batzuk baitituzte (“ez du ikusten” Giltza-katea, kargatzerakoan baimen-akatsak, etab.).
Hori da guztia, egia esan. Parte hartzen duten guztiei aplikazio arrakastatsuak eta arazorik gabeko bertsioak opa ditut App Store-n.