Slide 1

Slide 1 text

matchͱ͸ʁ matchಋೖͷϝϦοτ 2017/06/22 fastlaneษڧձ@Origami

Slide 2

Slide 2 text

ࣗݾ঺հ ɾKohei Tabata(@nerd0geek1) ɾSaib Studio LLC ɾiOS/macOS Developer ɾfastlane contributor←New! Said Studio LLC Kohei Tabata Next! Remote quick-zip plus

Slide 3

Slide 3 text

Agenda ɾূ໌ॻɺProvisioning Profileʹ͍͓ͭͯ͞Β͍ ɹɾূ໌ॻͷ࡞੒ɾڞ༗(खಈ)ͱ໾ׂ ɹɾProvisioning Profileͷ໾ׂ ɾmatchͱ͸Կ͔ʁ ɹɾmatchΛར༻ͨ͠ূ໌ॻͷ࡞੒ɾڞ༗ ɾmatchΛಋೖ͢ΔͱԿ͕มΘΔʁ ɾmatchͰCI/CD͕Ͳ͏มΘΔʁ

Slide 4

Slide 4 text

ূ໌ॻͷ࡞੒(खಈ) ൿີ伴 .cer .certSingningRequest ެ։伴 .certSingningRequest .cer ূ໌ॻ

Slide 5

Slide 5 text

ূ໌ॻͷڞ༗(खಈ) .p12 .p12 ূ໌ॻ ൿີ伴 ূ໌ॻ ൿີ伴

Slide 6

Slide 6 text

֤ϑΝΠϧͷ໾ׂ ɾCSR(Certificate Signing Request)ϑΝΠϧ ɹূ໌ॻॺ໊ཁٻϑΝΠϧɻ ɹൿີ伴ͱϖΞͰ࡞੒͞Εͨެ։伴ɺCommon NameɺOrganization NameΛ༻͍ͯ ɹ࡞੒͞ΕΔɻ ɾ.cerϑΝΠϧ ɹCSRϑΝΠϧΛɺೝূہ͕ೝূہͷൿີ伴Ͱॺ໊ͨ͠ϑΝΠϧɻ ɾ.p12ϑΝΠϧ ɹRFC7292Ͱఆٛ͞Εͨɺൿີ伴ͱূ໌ॻΛ֨ೲ͢ΔͨΊͷϑΝΠϧϑΥʔϚοτɻ

Slide 7

Slide 7 text

ূ໌ॻͷ໾ׂ ɾίʔυॺ໊Λߦ͍ɺҎԼΛ࣮ݱ͢ΔͨΊʹඞཁɻ ɹɾΞϓϦ͕Appleʹͱͬͯط஌ͷ৘ใݯ͔Β࡞ΒΕͨ͜ͱΛ୲อ͢Δ ɹɾΞϓϦ͕ॺ໊͞Ε͔ͯΒɺվม͞Ε͍ͯͳ͍͜ͱΛ୲อ͢Δ

Slide 8

Slide 8 text

Provisioning Profileͷ໾ׂ ɾίʔυॺ໊ͷͨΊ(։ൃऀ͕୭Ͱվม͕ߦΘΕ͍ͯͳ͍͔֬ೝ͢Δ)ɻ ɾ୺຤΁ͷΠϯετʔϧɺىಈΛ੍ޚ͢ΔͨΊɻ ɾಛఆͷػೳͷར༻Λ੍ޚ͢ΔͨΊɻ

Slide 9

Slide 9 text

΍ͬͺΓΊΜͲ͍͘͞

Slide 10

Slide 10 text

matchͱ͸ʁ ɾiOSΞϓϦ։ൃͷຊ࣭Ͱ͸ͳ͍͕ΈΜͳ͕௚໘͢Δɺূ໌ॻ΍Provisioning Profileʹ ɹؔ͢Δ໰୊ΛΑΖ͘͠΍͓͍ͬͯͯ͘ΕΔgem ɾ۩ମతʹ͸ɺҎԼͷ3఺ΛࣗಈԽɺ؆қԽͯ͘͠ΕΔ ɹɾূ໌ॻͷ࡞੒ɾߋ৽ ɹɾProvisioning Profileͷ࡞੒ɾߋ৽ ɹɾূ໌ॻɾProvisioning Profileͷอ؅ ɾ಺෦తʹ͸ɺҎԼͷgemΛར༻͍ͯ͠Δɻ ɹɾcert(ূ໌ॻͷ࡞੒ɾߋ৽Λߦ͏) ɹɾsigh(Provisioning Profileͷ࡞੒ɾߋ৽Λߦ͏) ɹɾspaceship(iTunes Connect/Apple Developer Centerʹ࣮ࡍʹΞΫηε͢Δ)

Slide 11

Slide 11 text

ূ໌ॻͷ࡞੒(खಈ) ൿີ伴 .cer .certSingningRequest ެ։伴 .certSingningRequest .cer ূ໌ॻ

Slide 12

Slide 12 text

ূ໌ॻͷ࡞੒(match) .cer .certSingningRequest .certSingningRequest .cer ূ໌ॻ .cer .p12 ൿີ伴 ެ։伴

Slide 13

Slide 13 text

ূ໌ॻͷڞ༗(खಈ) .p12 .p12 ূ໌ॻ ൿີ伴 ূ໌ॻ ൿີ伴

Slide 14

Slide 14 text

ূ໌ॻͷڞ༗(match) .p12 .p12 ূ໌ॻ ൿີ伴

Slide 15

Slide 15 text

ΊͬͪΌָ

Slide 16

Slide 16 text

ಋೖ͢ΔͱԿ͕มΘΔ͔ʁ ϝϦοτ ɾϏϧυ؀ڥͷଐਓੑ͕ഉআ͞ΕΔ ɾূ໌ॻɺProvisioning ProfileͷηοτΞοϓΛɺඞཁͱ͢Δਓ͕ίϚϯυ1ͭͰͰ͖Δ ɾূ໌ॻɺProvisioning Profileͷߋ৽͕ࠓ·ͰΑΓָʹߦ͏͜ͱͰ͖Δ σϝϦοτ ɾ৽ͨʹϓϥΠϕʔτͳϦϙδτϦΛ४උ͢Δඞཁ͕͋Δ ɾadminݖݶҎ্͕ඞཁʹͳΔ(ূ໌ॻɺProvisioning ProfileΛ࡞੒͢ΔͨΊ)

Slide 17

Slide 17 text

CI/CD͕Ͳ͏มΘΔ͔ʁ ɾCI/CD؀ڥͷߏஙɺอक͕ܶతʹָʹʂ ɹɾKeychain Access΁ͷূ໌ॻɾൿີ伴ͷΠϯετʔϧͳͲΛࣗલͰ࣮૷ɾอक͢Δ ɹɹඞཁ͕ͳ͘ͳΔ ɹɾ୺຤ͷ௥ՃͳͲʹΑΔProvisioning Profileͷߋ৽΋ࣗಈͰରԠ͢Δ͜ͱ͕Ͱ͖Δ

Slide 18

Slide 18 text

ࢀߟ * fastlane/match (https://github.com/fastlane/fastlane/tree/master/match) * Maintaining Your Signing Identities and Certificates (https://developer.apple.com/library/content/documentation/IDEs/Conceptual/ AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/ uid/TP40012582-CH31-SW1) * Maintaining Identifiers, Devices, and Profiles (https://developer.apple.com/library/content/documentation/IDEs/Conceptual/ AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html#//apple_ref/doc/uid/ TP40012582-CH30-SW1) * ealeksandrov/ProvisionQL (https://github.com/ealeksandrov/ProvisionQL)