I roto i tenei tuhinga, ka tohatohahia e matou te wheako o te kohikohi me te tuku i nga tono iOS ki nga kaiwhakamahi, i kohia e te Plarium Krasnodar studio i roto i te tukanga o te whakakore i te CI / CD.
Whakangungu
Ko nga tangata katoa kei roto i tetahi huarahi, i tetahi atu ranei e uru ana ki te whakawhanaketanga o nga tono mo nga taputapu Apple kua tino maioha ki te waatea tautohetohe o te hanganga. Ka kitea nga uaua ki nga waahi katoa: mai i te tahua tohu kaiwhakawhanake ki te patuiro me nga taputapu hanga.
He maha nga tuhinga e pa ana ki nga "taketake" i runga i te Ipurangi, na reira ka ngana matou ki te whakanui i te mea nui. Anei nga mea hei hanga angitu i to tono:
hanga tono ki ahurei ID (me tohu te hiranga o te Kaitohu Paihere, no te mea na te whakamahi i te ID kaari mohoao e kore e taea te whakamahi i nga mahi maha o te tono, hei tauira: Nga Waahi Hononga, Panui Panui, Waitohu Apple me etahi atu);
Me hanga he tiwhikete kaiwhakawhanake ma te Raaini Matua i runga i tetahi taputapu macOS. He mea nui te momo tiwhikete. I runga i te taiao tono (Dev, QA, Staging, Production) ka rereke (Whakawhanaketanga, Tohatoha ranei), ka pera ano te ahua o te tohu waitohu tono.
Momo matua o nga korero:
Whakawhanaketanga - he mea mo te hainatanga i te tono a te roopu whanaketanga, ka whakamahia he tiwhikete Whakawhanaketanga (momo ingoa iPhone Kaiwhakawhanake: XXXXX);
Ad Hoc - kua whakaritea mo te hainatanga i te tono whakamatautau me te manatoko o roto e te tari QA, ka whakamahia te tiwhikete Tohaina a te kaiwhakawhanake (momo ingoa Tohatoha iPhone: XXXXX);
App Store - tuku hanga mo te whakamatautau waho ma te TestFlight me te tuku ki te Toa App, ka whakamahia te tiwhikete Tohaina a te kaiwhakawhanake.
I te wa e whakaputa ana i nga korero Whanaketanga me Ad Hoc, ka tohuhia ano rārangi taputapu, ka taea e koe te whakauru i tetahi hanga, ka taea e koe te aukati i te urunga mo nga kaiwhakamahi. Karekau he rarangi o nga taputapu kei roto i te kotaha App Store, na te mea ko te mana uru i nga wa whakamatautau beta kati ka whakahaerehia e TestFlight, ka korerohia i muri mai.
Mo te whakamarama, ka taea e koe te whakaatu i te korero a te kaiwhakawhanake i te ahua o te ripanga i raro nei. Ma tenei ka maamaa ake te maarama he aha nga tawhā e hiahiatia ana mo te huihuinga me te wahi hei tiki mai.
Tuhinga
Kia ngawari ake te wehe i nga huihuinga ma te kaupapa me te taiao, ka whakamahia e matou nga ingoa tohu penei ${ProjectName}_${Instance}, ara, ingoa kaupapa + tauira (e whakawhirinaki ana ki te taiao tono: Dev, QA, GD, Staging, Live, me etahi atu).
Ina kawemai ki te tūmau hanga, ka huri te kōtaha i tōna ingoa ki tētahi ID ahurei ka nukuhia ki te kōpaki /Users/$Username/Library/MobileDevice/Provisioning Profiles (Kei hea $Username e hāngai ana ki te ingoa pūkete kaiwhakamahi o te tūmau hanga).
E rua nga huarahi ki te hanga i te konae *.ipa - tuku iho (PackageApplication) me te hou (ma te hanga me te kaweake a XcAchive). Ko te tikanga tuatahi ka kiia he tawhito, no te mea mai i te putanga 8.3 kua nekehia atu te konae konae konae i te tohatoha Xcode. Hei whakamahi, me kape e koe te kōwae mai i te Xcode tawhito (putanga 8.2 me mua) ki te kōpaki: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/
-scheme — te kaupapa i whakamahia, kua tohua i roto i te kaupapa.
-derivedDataPath — ara ki te tango i te tono kua huihuia (*.app).
CODE_SIGN_IDENTITY — te ingoa o te kaute kaiwhakawhanake, ka taea te manatoko i roto i te Keychain (iPhone Developer: XXXX XXXXXXX, kaore he TeamID i roto i nga taiapa).
PROVISIONING_PROFILE — Profile ID mo te hainatanga i te tono, ka taea te tiki ma te whakahau:
cd "/Users/$Username/Library/MobileDevice/Provisioning Profiles/" && find *.mobileprovision -type f | xargs grep -li ">${ProjectName}_${Instance}<" | sed -e 's/.mobileprovision//'
Mena kei te whakamahi te tono i tetahi korero taapiri (hei tauira, mo nga Whakamohiotanga Push), hei utu PROVISIONING_PROFILE tohu:
$Method — te tikanga tuku, e rite ana ki te momo tohu tohu waitohu tono, ara, mo te Whanaketanga ko te uara te whanaketanga, mo te Ad Hoc - ad-hoc, me te App Store - toa-taupānga.
$BundleID - Taupānga ID, kua tohua i roto i nga tautuhinga tono. Ka taea e koe te tirotiro me te whakahau:
defaults read $ProjectDir/Info CFBundleIdentifier
$DevAccName и $ProfileId — ingoa kaiwhakawhanake me nga tautuhinga tohu tohu waitohu i whakamahia i mua, me rite ki nga uara o nga tautuhinga kaweake.
$TeamID — tekau-mati ID i roto i nga taiapa i muri i te ingoa o te kaiwhakawhanake, tauira: iPhone Kaiwhakawhanake: …… (XXXXXXXXXX); Ka taea te tirotiro i roto i te Keychain.
I muri mai, ma te whakamahi i te whakahau kaweake, ka whiwhi tatou i te konae *.ipa e tika ana:
Inaianei me tuku te konae kua kohia ki te kaiwhakamahi mutunga, ara, kua whakauruhia ki runga i te taputapu.
He maha nga ratonga mo te tohatoha Whakawhanaketanga me nga hangahanga Ad Hoc, penei i te HockeyApp, AppBlade me etahi atu, engari i roto i tenei tuhinga ka korerohia e matou mo tetahi kaitoro tuuturu mo te tohatoha tono.
Ko te whakauru i te tono mo iOS e 2 nga waahanga:
Te whiwhi i te whakaaturanga whakaurunga tono ma te Ratonga Tuemi.
Te whakaurunga o te *.ipa konae kia rite ki nga korero kua tohua ki te whakaaturanga ma te HTTPS.
No reira, me whakaputa i te whakaaturanga whakaurunga (momo konae *.plist) me te whakahau:
Ka taea e koe te kite, kei roto i te whakaaturanga nga taapiri katoa e uru ana ki te hanga i te tono.
Putanga tono ($AppVersion) ka taea te tirotiro me te whakahau:
defaults read $ProjectDir/Info CFBundleVersion
Taumahi $ipaUrl kei roto he hono tika ki te tango i te *.ipa konae. Mai i te putanga tuawhitu o iOS, me whakauru te tono ma te HTTPS. I te putanga tuawaru, kua rereke te ahua o te whakaaturanga: poraka me nga tautuhinga mo nga tohu tono penei
<images>
<image>...</image>
</images>
No reira, ki te whakauru i te tono, he wharangi HTML ngawari me te hono penei he nui:
Mo nga hiahia o nga tari whanaketanga me nga whakamatautau, kua hangaia e Plarium tana ake tono whakaurunga hanga, e homai ana ki a maatau:
mana motuhake me te mana motuhake,
te whakaurunga o te mana uru me te whakaurunga o nga tono na roto i nga hononga "waahanga" i hangaia,
taumahinga whakawhanui (ara, ka taea e te roopu whanaketanga, mena e tika ana, te whakauru i nga mahi ngaro ki roto i te tono o naianei).
Te whakamātautau
Inaianei ka korero maatau mo te whakamatautau i mua i te tukunga o te tono ma te whakamahi TestFlight.
Ko nga tikanga e hiahiatia ana mo te tango ko te ahua o te tohu waitohu a te Toa App me te noho mai o nga taviri API kua hangaia.
He maha nga huarahi hei tango i te tono:
mā Xcode (Kaiwhakahaere),
mā altool,
mā te Puta tono mo nga putanga tawhito o Xcode (inaianei Transporter).
Mo te tango aunoa, ka whakamahia te altool, e rua ano nga tikanga whakamana:
Kupuhipa Taupānga Tauwhāiti,
Kī API.
He pai ake te tango i te tono ma te whakamahi i te Kī API.
Ki te tiki i te Kī API, haere ki hono me te whakaputa i te kī. I tua atu i te taviri i roto i te whakatakotoranga *.p8, me rua nga tawhā: IssuerID me KeyID.
Panuku, kawemai i te taviri kua tikiake ki te tūmau hanga:
Kei hea apiKey и apiIssuer he uara mara mai i te wharangi whakatipuranga matua API.
I muri mai, i runga i te whakamanatanga angitu, ka utaina e matou te tono me te whakahau --upload-app me nga tawhā rite.
Ka whakamatauria te tono e Apple i roto i te kotahi, e rua ranei nga ra, katahi ka waatea ki nga kaiwhakamatautau o waho: ka tukuna he hononga imeera mo te whakaurunga.
Ko tetahi atu huarahi ki te tango tono ma te altool ko te whakamahi Kupuhipa Tau-taupānga.
Ki te tiki i te Kupuhipa Taupānga Taupānga me haere koe ki hono ka whakaputa i roto i te waahanga Haumarutanga.
I muri mai, me hanga e koe he rekoata tūmau hanga i Keychain me tenei kupuhipa. Mai i te putanga 11 o Xcode ka taea tenei ma te whakahau:
Hei uara tawhā -p ka taea e koe te tango i te uara $AppPswd i roto i te ahua kore whakamuna (marama).
Engari, i te mea kua whakahuahia ake nei, mai i te tirohanga o te mahi, he pai ake te whiriwhiri i te API Key mo te whakamanatanga altool, no te mea he raruraru etahi o nga putanga rereke o Xcode ("kaore e kite" Keychain, nga hapa whakamana i te wa e tuku ana, me etahi atu).
Ko te katoa, mau. E hiahia ana ahau ki nga tangata katoa e whai waahi ana ki te hanga angitu me te whakaputanga kore raru i te Toa App.