A cikin wannan labarin, muna raba gwaninta na haɗawa da isar da aikace-aikacen iOS ga masu amfani, waɗanda ɗakin studio na Plarium Krasnodar ya tara a cikin aiwatar da lalata CI / CD.
Horo
Duk mutumin da ke cikin wata hanya ko wata da ke da hannu a cikin haɓaka aikace-aikacen na'urorin Apple ya riga ya yaba da sauƙin rigima na abubuwan more rayuwa. Ana samun wahalhalu a ko'ina: daga menu na masu haɓakawa zuwa ga gyarawa da gina kayan aikin.
Akwai labarai da yawa game da "tushen" akan Intanet, don haka za mu yi ƙoƙari mu haskaka babban abu. Ga abin da kuke buƙata don gina aikace-aikacenku cikin nasara:
na'urar tushen macOS da ke aiki azaman uwar garken ginin;
halitta takardar shaidar haɓakawa, wanda za a kara amfani da shi don sanya hannu kan aikace-aikacen;
ƙirƙirar aikace-aikacen tare da na musamman ID (Ya kamata a lura da mahimmancin Bundle Identifier, saboda yin amfani da ID na kati ya sa ba zai yiwu a yi amfani da ayyuka da yawa na aikace-aikacen ba, misali: Associated Domains, Push Notifications, Apple Sign In da sauransu);
Dole ne a samar da takardar shaidar haɓaka ta hanyar Keychain akan kowace na'urar macOS. Nau'in takardar shaidar yana da mahimmanci. Dangane da yanayin aikace-aikacen (Dev, QA, Staging, Production) zai bambanta (Ci gaba ko Rarraba), kamar yadda nau'in bayanan sa hannun aikace-aikacen zai bambanta.
Manyan nau'ikan bayanan martaba:
Ci gaba - an yi niyya don sanya hannu kan aikace-aikacen ƙungiyar haɓaka, ana amfani da takardar shaidar haɓaka (nau'in sunan mai haɓaka iPhone: XXXX);
Ad Hoc - an yi niyya don sanya hannu kan aikace-aikacen gwaji da tabbatarwa na ciki ta sashen QA, ana amfani da takardar shaidar Rarraba mai haɓakawa (nau'in sunan Rarraba iPhone: XXXXX);
App Store - gina ginin don gwaji na waje ta hanyar TestFlight da lodawa zuwa Store Store, ana amfani da takardar shaidar Rarraba mai haɓakawa.
Lokacin samar da ci gaba da bayanan martaba na Ad Hoc, ana kuma nuna shi jerin na'urori, wanda za ku iya shigar da ginin, wanda zai ba ku damar ƙara ƙuntata damar masu amfani. Babu jerin na'urori a cikin bayanan App Store, tunda ana sarrafa ikon shiga yayin gwajin beta ta TestFlight, wanda za'a tattauna daga baya.
Don bayyanawa, zaku iya gabatar da bayanan mai haɓakawa a cikin hanyar tebur da ke ƙasa. Wannan yana sauƙaƙa fahimtar menene sigogin da muke buƙata don taro da kuma inda zamu samo su.
Majalisar
Don sauƙaƙa raba majalisa ta hanyar aiki da muhalli, muna amfani da sunayen bayanan martaba kamar ${ProjectName}_${Instance}, wato, sunan aikin + misali (ya danganta da yanayin aikace-aikacen: Dev, QA, GD, Staging, Live, da sauransu).
Lokacin da aka shigo da shi zuwa uwar garken ginin, bayanin martaba yana canza sunansa zuwa ID na musamman kuma an matsa shi zuwa babban fayil /Users/$Username/Library/MobileDevice/Provisioning Profiles (ku $Username yayi daidai da sunan asusun mai amfani na uwar garken ginin).
Akwai hanyoyi guda biyu don gina fayil * .ipa - gado (PackageApplication) da na zamani (ta hanyar ƙirƙirar XcAchive da fitarwa). Ana ɗaukar hanya ta farko wacce ba ta daɗe, tun daga sigar 8.3 an cire tsarin marufi na fayil ɗin app daga rarraba Xcode. Don amfani da shi, kuna buƙatar kwafin ƙirar daga tsohuwar Xcode (sigar 8.2 da baya) zuwa babban fayil: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/
$Method - Hanyar isarwa, yayi daidai da nau'in bayanan sa hannu na aikace-aikacen, wato, don haɓaka ƙimar za ta kasance ci gaba, don Ad Hoc - ad-hoc, da kuma Store Store - kantin kayan masarufi.
$BundleID - ID na aikace-aikacen, wanda aka ƙayyade a cikin saitunan aikace-aikacen. Kuna iya bincika tare da umarnin:
defaults read $ProjectDir/Info CFBundleIdentifier
$DevAccName и $ProfileId - Sunan mai haɓakawa da saitunan bayanan martaba na sa hannu waɗanda aka yi amfani da su a baya kuma dole ne su dace da ƙimar da ke cikin saitunan fitarwa.
$TeamID - ID mai lamba goma a cikin baka bayan sunan mai haɓakawa, misali: Mai Haɓakawa iPhone: …… (XXXXXXXXXX); za a iya duba a Keychain.
Na gaba, ta amfani da umarnin fitarwa, muna samun mahimman * .ipa fayil:
Yanzu fayil ɗin da aka tattara yana buƙatar isar da shi ga mai amfani na ƙarshe, wato, shigar akan na'urar.
Akwai ayyuka da yawa don rarraba Ci gaba da Gina Ad Hoc, irin su HockeyApp, AppBlade da sauransu, amma a cikin wannan labarin za mu yi magana game da uwar garken da ke tsaye don rarraba aikace-aikace.
Shigar da aikace-aikacen don iOS yana faruwa a matakai 2:
Karɓar shigarwar aikace-aikacen bayyanannen ta Sabis ɗin Abubuwan.
Shigar da fayil ɗin * .ipa bisa ga bayanin da aka ƙayyade a cikin bayyanuwa ta HTTPS.
Don haka, da farko muna buƙatar samar da bayyanar shigarwa (nau'in fayil * .plist) tare da umarnin:
Kamar yadda kake gani, bayyanuwa ta ƙunshi kusan duk sigogin da ke cikin ginin aikace-aikacen.
Sigar aikace-aikacen ($AppVersion) za a iya duba tare da umurnin:
defaults read $ProjectDir/Info CFBundleVersion
Alamar $ipaUrl ya ƙunshi hanyar haɗin kai tsaye don sauke fayil ɗin * .ipa. Daga sigar iOS ta bakwai, dole ne a shigar da aikace-aikacen ta hanyar HTTPS. A cikin sigar ta takwas, tsarin bayyanar ya ɗan canza kaɗan: tubalan tare da saituna don gumakan aikace-aikacen kamar
<images>
<image>...</image>
</images>
Don haka, don shigar da aikace-aikacen, shafin HTML mai sauƙi tare da hanyar haɗi kamar wannan ya isa:
Inda apiKey и apiIssuer suna da ƙimar filin daga shafin tsara maɓalli na API.
Na gaba, bayan ingantaccen inganci, muna loda aikace-aikacen tare da umarni --upload-app tare da sigogi iri ɗaya.
Apple zai gwada aikace-aikacen a cikin kwana ɗaya ko biyu sannan zai zama samuwa ga masu gwajin waje: za a aika musu da hanyoyin haɗin yanar gizo don shigarwa.
Wata hanya don saukar da aikace-aikacen ta hanyar altool ita ce amfani da takamaiman kalmar wucewa ta App-Specific.
Don samun Takamaiman Kalmar wucewa ta App kana buƙatar zuwa mahada da kuma samar da shi a cikin sashin Tsaro.
Na gaba, yakamata ku ƙirƙiri rikodin ginin sabar a cikin Keychain tare da wannan kalmar sirri. Daga sigar 11 na Xcode ana iya yin wannan tare da umarnin:
Provider listing:
- Long Name - - Short Name -
XXXXXXX XXXXXXXXX
Kamar yadda kuke gani, ƙimar Gajerun Sunan da ake buƙata (asc-provider) yayi daidai da sigar $TeamID da muka yi amfani da ita lokacin gina aikace-aikacen.
Don ingantawa da loda aikace-aikacen cikin TestFlight, yi amfani da umarnin:
A matsayin ƙimar siga -p za ku iya ɗaukar darajar $AppPswd a cikin sigar da ba a ɓoye (bayyanannu).
Duk da haka, kamar yadda aka riga aka ambata, daga ra'ayi na aikin, yana da kyau a zabi API Key don izinin altool, tun da nau'o'in Xcode daban-daban suna da wasu matsaloli ("ba ya gani" Keychain, kurakurai izini yayin loda, da dai sauransu).
Wannan ke nan, a zahiri. Ina fatan duk wanda ya shiga cikin nasara na ginawa da sakin matsala a cikin App Store.