Í þessari grein deilum við reynslunni af því að setja saman og afhenda notendum iOS forrit, sem Plarium Krasnodar stúdíóið hefur safnað í ferlinu við að kemba CI/CD.
Þjálfun
Sérhver einstaklingur sem á einn eða annan hátt tekur þátt í þróun forrita fyrir Apple tæki hefur þegar metið hin umdeildu þægindi innviðanna. Erfiðleikar finnast alls staðar: frá prófílvalmynd þróunaraðila til villuleitar og smíðaverkfæra.
Það eru fullt af greinum um „grunnatriði“ á netinu, svo við munum reyna að draga fram það helsta. Hér er það sem þú þarft til að byggja upp forritið þitt með góðum árangri:
myndast vottorð þróunaraðila, sem verður frekar notað til að undirrita umsóknina;
búið til forrit með einstökum ID (Athuga skal mikilvægi búntaauðkennisins, vegna þess að notkun algildisauðkennis gerir það ómögulegt að nota margar aðgerðir forritsins, til dæmis: tengd lén, ýtt tilkynningar, Apple innskráningu og fleira);
Framleiðsluvottorð verður að búa til með lyklakippu á hvaða macOS tæki sem er. Tegund vottorðs er mjög mikilvægt. Það fer eftir umsóknarumhverfinu (Dev, QA, Staging, Production) það mun vera mismunandi (þróun eða dreifing), sem og tegund undirskriftarsniðs forrits.
Helstu tegundir prófíla:
Þróun - ætlað til að undirrita umsókn þróunarteymisins, þróunarvottorð er notað (tegundarheiti iPhone Developer: XXXXX);
Ad Hoc - ætlað til að undirrita prófunarforrit og innri sannprófun af QA deild, dreifingarvottorð þróunaraðila er notað (tegundarheiti iPhone Distribution: XXXXX);
App Store - slepptu smíði fyrir ytri prófun í gegnum TestFlight og upphleðslu í App Store, dreifingarvottorð þróunaraðila er notað.
Þegar búið er til þróunar- og ad hoc prófíla er það einnig gefið til kynna tækjalista, þar sem þú getur sett upp byggingu sem gerir þér kleift að takmarka aðgang notenda enn frekar. Það er enginn listi yfir tæki í App Store prófílnum, þar sem aðgangsstýring á lokuðum beta prófun er meðhöndluð af TestFlight, sem verður fjallað um síðar.
Til glöggvunar geturðu kynnt prófíl þróunaraðila í formi töflu hér að neðan. Þetta gerir það auðveldara að skilja hvaða færibreytur við þurfum fyrir samsetningu og hvaðan á að fá þær.
Þing
Til að gera það auðveldara að aðgreina samsetningar eftir verkefnum og umhverfi notum við prófílnöfn eins og ${ProjectName}_${Instance}, það er nafn verkefnis + tilvik (fer eftir umsóknarumhverfi: Dev, QA, GD, Staging, Live, og svo framvegis).
Þegar það er flutt inn á byggingarþjóninn breytir prófíllinn nafni sínu í einstakt auðkenni og er fært í möppuna /Users/$Username/Library/MobileDevice/Provisioning Profiles (Hvar $Username samsvarar nafni notandareiknings byggingarþjónsins).
Það eru tvær leiðir til að búa til *.ipa skrá - arfleifð (PackageApplication) og nútímaleg (í gegnum XcAchive sköpun og útflutning). Fyrsta aðferðin er talin úrelt, þar sem frá útgáfu 8.3 hefur app skráarpakkningareiningin verið fjarlægð úr Xcode dreifingunni. Til að nota það þarftu að afrita eininguna úr gamla Xcode (útgáfa 8.2 og eldri) í möppuna: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/
$Method — afhendingaraðferð, samsvarar gerð forrits undirskriftarsniðs, það er, fyrir þróun verður gildið þróun, fyrir Ad Hoc - ad-hoc og fyrir App Store - app-store.
$BundleID — Auðkenni forrits, sem er tilgreint í stillingum forritsins. Þú getur athugað með skipuninni:
defaults read $ProjectDir/Info CFBundleIdentifier
$DevAccName и $ProfileId — nafn þróunaraðila og auðkenni undirskriftarsniðs sem voru notaðar áður og verða að passa við gildin í útflutningsstillingunum.
$TeamID — tíu stafa auðkenni í sviga á eftir nafni þróunaraðila, dæmi: iPhone þróunaraðili: …… (XXXXXXXXXX); hægt að athuga í Keychain.
Næst, með því að nota útflutningsskipunina, fáum við nauðsynlega *.ipa skrá:
Nú þarf að afhenda söfnuðu skránni til endanotanda, það er að segja uppsett á tækinu.
Það eru margar þjónustur til að dreifa þróunar- og ad hoc-byggingum, svo sem HockeyApp, AppBlade og fleiri, en í þessari grein munum við tala um sjálfstæðan netþjón til að dreifa forritum.
Uppsetning forritsins fyrir iOS fer fram í 2 áföngum:
Að fá uppsetningarskrá forritsins í gegnum Items Service.
Uppsetning á *.ipa skránni í samræmi við upplýsingarnar sem tilgreindar eru í upplýsingaskránni í gegnum HTTPS.
Þannig þurfum við fyrst að búa til uppsetningarskrá (skráartegund *.plist) með skipuninni:
Eins og þú sérð inniheldur upplýsingaskráin næstum allar breytur sem taka þátt í að byggja upp forritið.
Forritsútgáfa ($AppVersion) er hægt að athuga með skipuninni:
defaults read $ProjectDir/Info CFBundleVersion
Viðfang $ipaUrl inniheldur beinan hlekk til að hlaða niður *.ipa skránni. Frá sjöundu útgáfu af iOS verður að setja upp forritið í gegnum HTTPS. Í áttundu útgáfunni hefur snið upplýsingaskrárinnar breyst lítillega: blokkir með stillingum fyrir forritatákn eins og
<images>
<image>...</image>
</images>
Þannig að til að setja upp forritið nægir einföld HTML síða með tengli eins og þessum:
Fyrir þarfir þróunar- og prófunardeildanna hefur Plarium búið til sitt eigið uppsetningarforrit sem gefur okkur:
sjálfræði og sjálfstæði,
miðstýring aðgangsstýringar og örugga uppsetningu forrita með „tímabundnum“ kröftugum tenglum,
stækkanleg virkni (þ.e. þróunarteymið, ef nauðsyn krefur, getur samþætt aðgerðir sem vantar í núverandi forrit).
Prófun
Nú munum við tala um forútgáfuprófun á forritinu með því að nota TestFlight.
Áskilin skilyrði fyrir niðurhali eru gerð App Store undirskriftarsniðs og tilvist myndaða API lykla.
Það eru nokkrar leiðir til að hlaða niður forritinu:
í gegnum Xcode (Organizer),
í gegnum altool,
í gegnum Application Loader fyrir eldri útgáfur af Xcode (nú Transporter).
Fyrir sjálfvirkt niðurhal er altool notað, sem einnig hefur tvær heimildaraðferðir:
Appsértækt lykilorð,
API lykill.
Æskilegt er að hlaða niður forritinu með því að nota API lykilinn.
Til að fá API lykilinn skaltu fara á tengill og búa til lykil. Til viðbótar við lykilinn sjálfan á *.p8 sniði, þurfum við tvær breytur: IssuerID og KeyID.
Næst skaltu flytja inn niðurhalaða lykilinn á byggingarþjóninn:
Hvar apiKey и apiIssuer hafa svæðisgildi frá API lyklamyndunarsíðunni.
Næst, eftir árangursríka staðfestingu, hleðum við forritinu með skipuninni --upload-app með sömu breytur.
Forritið verður prófað af Apple innan eins eða tveggja daga og verður þá aðgengilegt utanaðkomandi prófunaraðilum: þeir fá sent hlekki í tölvupósti til uppsetningar.
Önnur leið til að hlaða niður forriti í gegnum altool er að nota App-Specific Password.
Til að fá app-sértæka lykilorðið sem þú þarft að fara á tengill og búa til það í öryggishlutanum.
Næst ættirðu að búa til gagnagrunnsskrá í Keychain með þessu lykilorði. Frá útgáfu 11 af Xcode er hægt að gera þetta með skipuninni:
Sem færibreytugildi -p þú getur tekið gildi $AppPswd í ódulkóðuðu (skýrri) formi.
Hins vegar, eins og áður hefur verið nefnt, frá sjónarhóli frammistöðu, er betra að velja API lykil fyrir altool heimild, þar sem mismunandi útgáfur af Xcode hafa ákveðin vandamál („sér ekki“ lyklakippu, heimildarvillur við upphleðslu osfrv.).
Það er allt, reyndar. Ég óska öllum sem taka þátt í farsælum smíðum og vandræðalausum útgáfum í App Store.