San artaigil seo, bidh sinn a ’roinn an eòlas air a bhith a’ cruinneachadh agus a ’lìbhrigeadh thagraidhean iOS do luchd-cleachdaidh, a tha stiùidio Plarium Krasnodar air cruinneachadh anns a’ phròiseas debugging CI / CD.
Ullachadh
Tha a h-uile duine a tha ann an aon dòigh no dòigh eile an sàs ann an leasachadh thagraidhean airson innealan Apple mar-thà air luach a chuir air goireasachd connspaideach a’ bhun-structair. Tha duilgheadasan rim faighinn anns a h-uile àite: bho chlàr ìomhaigh an leasaiche gu na h-innealan deasbaid is togail.
Tha gu leòr artaigilean mu na “bunaitean” air an eadar-lìn, agus mar sin feuchaidh sinn ri cuideam a chuir air a ’phrìomh rud. Seo na tha a dhìth ort gus an tagradh agad a thogail gu soirbheachail:
inneal stèidhichte air macOS ag obair mar fhrithealaiche togail;
gineadh teisteanas leasaiche, a thèid a chleachdadh tuilleadh gus an tagradh a shoidhnigeadh;
air a chruthachadh le tagradh gun samhail ID (bu chòir a thoirt fa-near cho cudromach sa tha an ID Bundle, leis gu bheil cleachdadh ID cairt-fiadhaich ga dhèanamh do-dhèanta mòran de dhleastanasan an tagraidh a chleachdadh, mar eisimpleir: Fearann Ceangailte, Brathan Push, Clàraich a-steach Apple agus feadhainn eile);
Feumar teisteanas leasaiche a chruthachadh tro Keychain air inneal macOS sam bith. Tha an seòrsa teisteanais glè chudromach. A rèir àrainneachd an tagraidh (Dev, QA, Staging, Production) bidh e eadar-dhealaichte (Leasachadh no Sgaoileadh), agus cuideachd an seòrsa ìomhaigh ainm-sgrìobhte tagraidh.
Prìomh sheòrsaichean de phròifil:
Leasachadh - an dùil a bhith a’ soidhnigeadh tagradh an sgioba leasachaidh, tha teisteanas leasachaidh air a chleachdadh (seòrsa ainm leasaiche iPhone: XXXXX);
Ad Hoc - an dùil a bhith a’ soidhnigeadh tagradh deuchainn agus dearbhadh a-staigh leis an roinn QA, tha teisteanas Cuairteachaidh an leasaiche air a chleachdadh (seòrsa ainm iPhone Sgaoileadh: XXXX);
App Store - cuir a-mach togail airson deuchainn taobh a-muigh tro TestFlight agus luchdachadh suas chun App Store, tha teisteanas Cuairteachaidh an leasaiche air a chleachdadh.
Nuair a bhios tu a’ gineadh pròifilean Leasachaidh agus Ad Hoc, tha e cuideachd air a chomharrachadh liosta innealan, air an urrainn dhut togalach a chuir a-steach, a leigeas leat barrachd ruigsinneachd a chuingealachadh do luchd-cleachdaidh. Chan eil liosta de dh’ innealan ann am pròifil an App Store, leis gu bheil smachd ruigsinneachd rè deuchainn beta dùinte air a làimhseachadh le TestFlight, a thèid a dheasbad nas fhaide air adhart.
Airson soilleireachd, faodaidh tu ìomhaigh an leasaiche a thaisbeanadh ann an cruth clàr gu h-ìosal. Tha seo ga dhèanamh nas fhasa tuigsinn dè na crìochan a tha a dhìth oirnn airson co-chruinneachadh agus cò às a gheibh sinn iad.
Tionndadh
Gus a dhèanamh nas fhasa co-chruinneachaidhean a sgaradh a rèir pròiseact agus àrainneachd, bidh sinn a’ cleachdadh ainmean ìomhaigh mar ${ProjectName}_${Instance}, is e sin, ainm pròiseict + eisimpleir (an urra ri àrainneachd an tagraidh: Dev, QA, GD, Staging, Live, agus mar sin air adhart).
Nuair a thèid a thoirt a-steach don t-seirbheisiche togail, bidh am pròifil ag atharrachadh a h-ainm gu ID sònraichte agus thèid a ghluasad chun phasgan /Users/$Username/Library/MobileDevice/Provisioning Profiles (Càite $Username a ’freagairt ri ainm cunntas cleachdaiche an t-seirbheisiche togail).
Tha dà dhòigh air faidhle *.ipa a thogail - dìleab (PackageApplication) agus ùr-nodha (tro chruthachadh agus às-mhalairt XcAchive). Thathas den bheachd gu bheil a’ chiad dhòigh air a dhol à bith, leis gu bheil modal pacaidh faidhle app air a thoirt a-mach à cuairteachadh Xcode bho dhreach 8.3. Gus a chleachdadh, feumaidh tu am modal a chopaigeadh bhon t-seann Xcode (dreach 8.2 agus nas tràithe) chun phasgan: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/
Ach, thathas den bheachd gu bheil an dòigh seo air a dhol à bith bho shealladh Apple. Tha e buntainneach *.ipa fhaighinn le bhith às-mhalairt bho thasglann an tagraidh.
An toiseach feumaidh tu an tasglann a chruinneachadh leis an àithne:
Tha eadar-dhealachaidhean ann an dòigh cruinneachaidh agus roghainnean SYNCHRONOUS_SYMBOL_PROCESSING, a chuireas casg air luchdachadh sìos samhla aig àm togail.
An uairsin feumaidh sinn faidhle a ghineadh le roghainnean às-mhalairt:
$Method - modh lìbhrigidh, a rèir seòrsa ìomhaigh ainm-sgrìobhte an tagraidh, is e sin, airson Leasachadh bidh an luach mar leasachadh, airson Ad Hoc - ad-hoc, agus airson App Store - app-store.
$BundleID - ID an tagraidh, a tha air a shònrachadh ann an roghainnean an tagraidh. Faodaidh tu sgrùdadh a dhèanamh leis an òrdugh:
defaults read $ProjectDir/Info CFBundleIdentifier
$DevAccName и $ProfileId - ainm leasaiche agus roghainnean ID pròifil ainm-sgrìobhte a chaidh a chleachdadh roimhe seo agus feumaidh iad a bhith co-ionnan ris na luachan anns na roghainnean às-mhalairt.
$TeamID - ID deich-dhigit eadar camagan às deidh ainm an leasaiche, eisimpleir: iPhone Developer: …… (XXXXXXXXX); faodar a sgrùdadh ann an Keychain.
An ath rud, a’ cleachdadh an àithne às-mhalairt, gheibh sinn am faidhle riatanach * .ipa:
A-nis feumar am faidhle cruinnichte a lìbhrigeadh don neach-cleachdaidh deireannach, is e sin, air a chuir a-steach air an inneal.
Tha mòran sheirbheisean ann airson a bhith a’ sgaoileadh leasachaidhean leasachaidh agus Ad Hoc, leithid HockeyApp, AppBlade agus feadhainn eile, ach san artaigil seo bruidhnidh sinn mu dheidhinn frithealaiche leis fhèin airson a bhith a’ sgaoileadh thagraidhean.
Bidh stàladh an aplacaid airson iOS a’ gabhail àite ann an 2 ìre:
A’ faighinn stàladh an tagraidh follaiseach tron t-Seirbheis Items.
Stàladh am faidhle * .ipa a rèir an fhiosrachaidh a chaidh a shònrachadh san fhollaiseach tro HTTPS.
Mar sin, feumaidh sinn an toiseach taisbeanadh stàlaidh a ghineadh (seòrsa faidhle * .plist) leis an àithne:
Mar a chì thu, tha cha mhòr a h-uile paramadair a tha an lùib togail an tagraidh anns an fhoillseachadh.
Tionndadh an aplacaid ($AppVersion) faodar a sgrùdadh leis an àithne:
defaults read $ProjectDir/Info CFBundleVersion
Parameter $ipaUrl tha ceangal dìreach ann gus am faidhle *.ipa a luchdachadh sìos. Bhon t-seachdamh dreach de iOS, feumaidh an aplacaid a bhith air a chuir a-steach tro HTTPS. Anns an ochdamh dreach, tha cruth an taisbeanaidh air atharrachadh beagan: blocaichean le roghainnean airson ìomhaighean tagraidh mar
<images>
<image>...</image>
</images>
Mar sin, gus an aplacaid a stàladh, tha duilleag HTML sìmplidh le ceangal mar seo gu leòr:
Airson feumalachdan nan roinnean leasachaidh is deuchainn, tha Plarium air an tagradh stàlaidh togail aca fhèin a chruthachadh, a bheir dhuinn:
neo-eisimeileachd agus neo-eisimeileachd,
meadhanachadh smachd ruigsinneachd agus stàladh tèarainte de thagraidhean tro cheanglaichean “sealach” a chaidh a chruthachadh gu dinamach,
comas-gnìomh leudachail (is e sin, faodaidh an sgioba leasachaidh, ma tha sin riatanach, gnìomhan a tha a dhìth fhilleadh a-steach do thagradh gnàthaichte).
Deuchainn
A-nis bruidhnidh sinn mu dheuchainn ro-sgaoilidh air an tagradh a ’cleachdadh Testlight.
Is e na cumhaichean riatanach airson luchdachadh sìos an seòrsa de phròifil ainm-sgrìobhte App Store agus làthaireachd iuchraichean API air an gineadh.
Tha grunn dhòighean ann airson an tagradh a luchdachadh sìos:
tro Xcode (Eagraiche),
tro altool,
tro Iarrtas Loader airson dreachan nas sine de Xcode (a-nis Transporter).
Airson luchdachadh sìos fèin-ghluasadach, thathas a’ cleachdadh altool, aig a bheil dà dhòigh ceadachaidh cuideachd:
Facal-faire a tha sònraichte don tagradh,
Iuchair API.
Tha e nas fheàrr an aplacaid a luchdachadh sìos a’ cleachdadh an iuchair API.
Gus an iuchair API fhaighinn, rachaibh gu cheangal agus cruthaich iuchair. A bharrachd air an iuchair fhèin ann an cruth * .p8, bidh feum againn air dà pharamadair: IssuerID agus KeyID.
An uairsin, cuir a-steach an iuchair a chaidh a luchdachadh sìos chun t-seirbheisiche togail:
Càite apiKey и apiIssuer bi luachan achaidh agad bho dhuilleag iuchrach ginealach API.
An ath rud, às deidh dearbhadh soirbheachail, bidh sinn a’ luchdachadh an aplacaid leis an àithne --upload-app leis na h-aon pharaimearan.
Thèid an tagradh a dhearbhadh le Apple taobh a-staigh latha no dhà agus an uairsin bidh e ri fhaighinn le luchd-dearbhaidh bhon taobh a-muigh: thèid ceanglaichean post-d a chuir thuca airson an stàladh.
Is e dòigh eile air tagradh a luchdachadh sìos tro altool a bhith a’ cleachdadh Facal-faire App-Sònraichte.
Gus am facal-faire App-Sònraichte fhaighinn feumaidh tu a dhol gu cheangal agus cruthaich e anns an roinn Tèarainteachd.
An uairsin, bu chòir dhut clàr frithealaiche togail a chruthachadh ann an Keychain leis an fhacal-fhaire seo. Bho dhreach 11 de Xcode faodar seo a dhèanamh leis an àithne:
Provider listing:
- Long Name - - Short Name -
XXXXXXX XXXXXXXXX
Mar a chì thu, tha an luach Ainm Goirid riatanach (asc-solaraiche) a’ dol aig an aon àm ris a’ pharameter $TeamID a chleachd sinn nuair a bha sinn a’ togail an aplacaid.
Gus an tagradh a dhearbhadh agus a luchdachadh gu TestFlight, cleachd an àithne:
Mar luach paramadair -p faodaidh tu an luach a ghabhail $AppPswd ann an cruth neo-chrioptaichte (sònraichte).
Ach, mar a chaidh ainmeachadh roimhe, a thaobh coileanadh, tha e nas fheàrr API Key a thaghadh airson cead altool, leis gu bheil duilgheadasan sònraichte aig diofar dhreachan de Xcode (“chan eil e a’ faicinn ”Keychain, mearachdan ceadachaidh aig àm luchdachadh suas, msaa).
Tha sin uile, gu dearbh. Tha mi a’ guidhe gach neach a tha an sàs ann an togail soirbheachail agus fiosan gun trioblaid anns an App Store.