Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
meetup_201910.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kamui_project
October 09, 2019
Programming
0
170
meetup_201910.pdf
kamui_project
October 09, 2019
Tweet
Share
More Decks by kamui_project
See All by kamui_project
String Catalog
tony1224
1
2.3k
DI整備でneedleを使った話
tony1224
0
290
potatotips_201906.pdf
tony1224
0
89
potatotips_201905.pdf
tony1224
1
490
andfactory_201903.pdf
tony1224
0
1.2k
Dividing Model into layers and implementing Unit Test
tony1224
1
1.2k
WWDC18 cherry-pick Xcode 10 beta
tony1224
0
320
Other Decks in Programming
See All in Programming
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
160
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
ぼくの開発環境2026
yuzneri
0
240
Patterns of Patterns
denyspoltorak
0
1.4k
Oxlintはいいぞ
yug1224
5
1.3k
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
370
AtCoder Conference 2025
shindannin
0
1.1k
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
220
CSC307 Lecture 10
javiergs
PRO
1
660
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
250
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Writing Fast Ruby
sferik
630
62k
Are puppies a ranking factor?
jonoalderson
1
2.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Cult of Friendly URLs
andyhume
79
6.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
New Earth Scene 8
popppiees
1
1.5k
WCS-LA-2024
lcolladotor
0
450
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
Transcript
iOSͷূ໌ॻ Θ͔ΓͮΒ͍༻ޠ, ΈΛ ͓͞Β͍͢Δ DMM Meetup iOS #1
About me • Name: ͔Ή͍ • App: MENUS(ϝχϡʔζ) • Favorite:
VTuber() • Community: ϖϯΪϯଜ
None
iOSςετશॻ
I will tell you …
iOSͷূ໌ॻ
ূ໌ॻରԠͷྺ࢙ • खಈͰ࡞, ߋ৽(ʙXcode7) • ࣗಈͰ࡞, ߋ৽(Xcode8ʙ) • Automatically manage
signing etc. • fastlane(match)ͷొͰূ໌ॻؔ࿈ͷઃఆΛڞ ༗Խ(2015ࠒ͔Βීٴ)
ূ໌ॻͷ࡞ɾߋ৽Λҙࣝ͠ ͳ͍Ͱ։ൃ͢Δ࣌…
None
։ൃάϧʔϓ" ։ൃάϧʔϓ# ։ൃάϧʔϓ$
։ൃάϧʔϓ" ։ൃάϧʔϓ# ։ൃάϧʔϓ$ ূ໌ॻͰτϥϒϧ͕ൃੜͨ͠ࡍʹํͰίϛϡχέʔγϣϯ͕ൃੜ ༻ޠ Έͷཧղ͕ඞཁ
ʮԿΛݴ͍ͬͯΔ͔Θ͔Βͳ͍ɻ ԶͨͪงғؾͰiOSͷূ໌ॻΛ ͍ͬͯΔʯ
ΞδΣϯμ 1. Θ͔ΓͮΒ͍༻ޠ, ΈΛ͓͞Β͍͢Δ 2. (͕࣌ؒ͋Ε) ূ໌ॻؔ࿈ͷTips
ׂѪͤͯ͘͞ͷ 1. ެ։伴҉߸ํࣜ, ൿີ伴ͳͲͷ҉߸ॲཧ༻ޠ 2. iOSؔ࿈Ҏ֎ͷAppleͷূ໌ॻ • macOS, watchOS, tvOSͳͲͷূ໌ॻ
• Apple Pay, VoIP PushͳͲͷServicesূ໌ॻ
ΞδΣϯμ 1. Θ͔ΓͮΒ͍༻ޠ, ΈΛ͓͞Β͍͢Δ 2. (͕࣌ؒ͋Ε) ূ໌ॻؔ࿈ͷTips
1. Θ͔ΓͮΒ͍༻ޠ, Έ 1.ిࢠॺ໊, ূ໌ॻؔ࿈༻ޠ 2. Xcodeʹొ͢Δূ໌ॻؔ࿈ػೳ 3. Certificates, Identifiers
& Profilesʹొ͢Δ ༻ޠ
1. ిࢠॺ໊, ূ໌ॻؔ࿈༻ޠ ίʔυॺ໊ূ໌ॻ .certSigningRequestϑΝΠϧ .p12ϑΝΠϧ
iOSͷূ໌ॻ
iOSͷίʔυॺ໊ূ໌ॻ
ίʔυॺ໊ূ໌ॻ is Կʁ
ιϑτΣΞΛɾൢച͢Δࡍʹར༻ ऀ͕ݩͷ֬ೝվ͟ΜݕͰ͖ΔΑ ͏ʹ༩͞ΕΔσδλϧॺ໊ͷূ໌ॻ
ର: ιϑτΣΞ ిࢠূ໌ॻͷछྨͷ1ͭ ͦͷଞ αʔόʔূ໌ॻ ΫϥΠΞϯτূ໌ॻ ϝʔϧূ໌ॻ ͳͲͳͲ ίʔυॺ໊ূ໌ॻ
༻్: σδλϧॺ໊ͷਖ਼ੑΛূ໌Λ͢ΔͨΊ σδλϧॺ໊: ར༻ऀ͕ݩͷ֬ೝ ར༻ऀ͕վ͟ΜΛݕͰ͖ΔΑ͏ʹ͢Δ ίϯϐϡʔλੈքͷϋϯί ίʔυॺ໊ূ໌ॻ
σδλϧॺ໊͚ͩͰ ྑ͍ͷͰ…ʁ
σʔλ͕ਖ਼͍͠ͷͱূ໌ -> ެ։伴(ϋϯί)
σδλϧॺ໊ʮ͜ͷެ։伴(ϋϯ ί)ਖ਼͍͠ͷ͔…ʯ
σδλϧॺ໊ʮ͜ͷެ։伴(ϋϯ ί)ਖ਼͍͠ͷ͔…ʯ
ղܾࡦ: ূ໌ॻ
ূ໌ॻཁٻϑΝΠϧ ༻్: ূ໌ॻ࡞ͷͨΊʹ ࣗ: CSRΛAppleʹఏग़ Apple: ॺ໊ + ίʔυॺ໊ূ໌ॻΛൃߦ CSR.certSigningRequest
ݸਓใަϑΝΠϧ Public-Key Cryptography Standards(PKCS)ͷ12൪ͷن֨ͱ͠ ͯఆٛ ੜʹඞཁͳͷ ൿີ伴 CSRϑΝΠϧ࡞࣌ʹ伴ϖΞ(ެ։伴+ൿີ伴)Λ࡞ͨ͠ਓ͕ ࡞Δඞཁ ೝূہ(Apple)͔Βॺ໊͞Εͨূ໌ॻ
hoge.p12
hoge.p12
༻్: ূ໌ॻͷόοΫΞοϓ: ։ൃ༻ϚγϯͷҾ͖ܧ͗, ަ ূ໌ॻͷΤΫεϙʔτ: ֎෦ͷCIπʔϧ, Push௨ αʔϏεπʔϧ νʔϜ։ൃ࣌ʹ֤Ϛγϯ্Ͱൿີ伴͖ূ໌ॻ͕ඞཁ hoge.p12
1. Θ͔ΓͮΒ͍༻ޠ, Έ 1.ిࢠॺ໊, ূ໌ॻؔ࿈༻ޠ 2. Xcodeʹొ͢Δূ໌ॻؔ࿈༻ޠ 3. Certificates, Identifiers
& Profilesʹొ͢Δ༻ޠ
2. Xcodeʹొ͢Δূ໌ॻؔ࿈༻ޠ Provisioning Profile Automatically manage signing
Provisioning Profile (ൿີ伴͖)ূ໌ॻ, App ID, ͷUDID※Λؔ࿈͚ͨBundle ϑΝΠϧ ※ Development, Adhoc༻ͷΈ
͜ͷϓϩϑΝΠϧͰॺ໊͠Πϯετʔϧͨ͠ΞϓϦɺϓϩϑΝ Πϧʹઃఆ͞Ε͍ͯΔใΛجʹϏϧυͨ͜͠ͱΛอূ ূ໌ॻ͚ͩͰ࣮ػʹϏϧυor͕Ͱ͖ͳ͍ ୭ͷͲͷϚγϯ(ূ໌ॻ)Ͱ, Ͳͷʹ͚ͯ࡞ΒΕ͔ͨ(UDID) ͷใ͕ٻΊΒΕΔ
Provisioning Profile App ID2छྨ Explicit App ID…ಛఆͷBundle IDΛࢦఆͨ͠ɻಛผͳ ཧ༝͕ͳ͍ݶΓͪ͜ΒΛਪ Wildcard
App ID…ʮ*ʯΛ༻ɻ։ൃ༻Ͱ͍͍ͪͪҰҙ ͷ͕ෆཁͷ࣌ͳͲ ূ໌ॻಉ༷ɺ։ൃ༻ͱ༻ͷ2छྨ ༻Adhoc / App Storeʹ͔ΕΔ
None
ίʔυॺ໊ূ໌ॻ
ίʔυॺ໊ূ໌ॻ Provisioning Profile "OEPJSEͷυϥΠό͑͋͞Ε0,
༗ঈϥΠηϯεෆཁͰ࣮ػʹΠϯετʔϧ • Xcode7(2015)ΑΓ • Apple ID, ূ໌ॻ, Provisioning Profileඞཁ •
࡞શͯXcode্Ͱ݁ • Provisioning Profileͷ༗ޮظݶ7 • ҎԼͷಈ࡞ݕূෆՄ • Push Notifications • In-App Purchasing • Apple Pay ͳͲ • App Store ConnectʹΞΫηεͰ͖ͳ͍ͨΊTest Flightར༻ෆՄ
Provisioning Profile खಈରԠʹΑΔ ࣋ͭใ͕มΘΔͱProvisioning ProfileมΘΔ = ߋ৽ ͕ඞཁ ݕূͷՃ Xcode
CIπʔϧ ༗ޮظݶ͋Γ(1) ※༗ঈϥΠηϯε
Automatically manage signing
Automatically manage signing • Xcode8(2016)ΑΓ • ূ໌ॻʹؔ͢Δ࡞ۀΛࣗಈͰͬͯ͘ΕΔ • ॺ໊͖ূ໌ॻ࡞/ߋ৽ •
Provisioning Profile࡞/ߋ৽ • AppID࡞/ߋ৽ • Apple͜ͷػೳΛਪ
Automatically manage signing ϝϦοτ1: p12ϑΝΠϧͷॻ͖ग़͠ग़དྷΔ
Automatically manage signing ϝϦοτ2: ͷUDIDొ
Automatically manage signing https://devcenter.bitrise.io/code-signing/ios-code- signing/ios-auto-provisioning/
1. Θ͔ΓͮΒ͍༻ޠ, Έ 1.ిࢠॺ໊, ূ໌ॻؔ࿈༻ޠ 2. Xcodeʹొ͢Δূ໌ॻؔ࿈༻ޠ 3. Certificates, Identifiers
& Profilesʹొ͢Δ༻ޠ
Certificates, Identifiers & Profiles 4UBOEBSE &OUFSQSJTF "QQ4UPSF ˓ ❌ "QQ4UPSF$POOFDU
ར༻ ˓ ❌ ධՁ "EIPD ˓ ˓ ৫ JOIPVTF ❌ ˓ ূ໌ॻ༗ޮظݶ අ༻ ԁ ԁ ϝϯόʔγοϓͷൺֱ
Certificates, Identifiers & Profiles • Adhoc(ධՁ) • StoreͤͣʹΛࢦఆͨ͠ํ๏ •100 •Adhocొͯ͠ͳ͍ͰΞϓϦ࣮ߦෆՄ
• in-house(৫) • Store͠ͳ͍ํ๏ •੍ݶࢦఆ͕ແ͍ •୭ͰΞϓϦ࣮ߦՄೳͷͨΊҙඞཁ Certificates, Identifiers & Profiles
Certificates, Identifiers & Profiles Certificates • Software • Development /
Distribution • Services • APNs / Pass Type ID / Apple Pay etc…
Certificates, Identifiers & Profiles Certificates • Software • Development /
Distribution • Services • APNs / Pass Type ID / Apple Pay etc… ΞϓϦ͕ଞͷ04ඪ४ͷαʔϏεͱ࿈ܞ͢Δ ߹ͦΕূ໌͢Δඞཁ͕͋Δ ։ൃͱผʹূ໌ॻ͕ඞཁ
ΞδΣϯμ 1. Θ͔ΓͮΒ͍༻ޠ, ΈΛ͓͞Β͍͢Δ 2.(͕࣌ؒ͋Ε) ূ໌ॻؔ࿈ͷTips
4UBOEBSE ΩʔνΣʔϯΞΫηε -JCSBSZ .PCJMF%FWJDFT 1SPWJTJPOJOH 1SPpMFT 9DPEF "QQMF*% *EFOUJpFST $FSUJpDBUFT
%FWJDFT 1SPpMFT ,FZT .PSF $43࡞ɾఏग़ ূ໌ॻ%- 11%- #VOEMF*%ొ 6%*% 6%*%ొ
4UBOEBSE ΩʔνΣʔϯΞΫηε -JCSBSZ .PCJMF%FWJDFT 1SPWJTJPOJOH 1SPpMFT 9DPEF "QQMF*% *EFOUJpFST $FSUJpDBUFT
%FWJDFT 1SPpMFT ,FZT .PSF $43࡞ɾఏग़ ূ໌ॻ%- 11%- #VOEMF*%ొ 6%*% 6%*%ొ
ݹ͍Provisioning Profileࢀরͯ͠ ΔͬΆ͍͔Βআ͍ͨ͠…
ݹ͍Provisioning Profileࢀরͯ͠ ΔͬΆ͍͔Βআ͍ͨ͠…
ipaϑΝΠϧ͔ΒProvisioning Profile Λ֬ೝ͢Δ ipaϑΝΠϧzipѹॖ͞ΕͨϑΝΠϧ unzipίϚϯυͰղౚՄೳ ֦ுࢠΛ.zipʹ͢ΔͱFinderͰల։͕Մ ೳ
ipaϑΝΠϧ͔ΒProvisioning Profile Λ֬ೝ͢Δ App/Payload/Hoge.app ύοέʔδͷ༰Λදࣔ Embedded.mobileprovision <- ίϨ ূ໌ॻؔ࿈ใΛXMLܗࣜͰ֬ೝͰ͖Δ AdHocΞϓϦΛ͕ͨͣͩ͠ΠϯετʔϧͰ͖ͳ͍ͱݴΘ
Εͨ -> ໊લ͔ΒappΛਪଌͰ͖ͳ͍࣌ʹཱ͔ͭ…ʁ
Conclusion • iOSͷূ໌ॻΛ͓͞Β͍ͯ͠Έ·ͨ͠ • ʮͦ͏͍͑ͦ͏ͩͬͨΑͳʯʮͦ͏ͩͬ ͨΜͩʯͱৼΓฦΔػձʹͳΕ͍Ͱ͢ • ͕࣌ؒ͋Εࠓळ͔Βొͨ͠ূ໌ॻͳͲΛ հ͔ͨͬͨ͠ͷͰ͕͢…
Conclusion • iOSͷূ໌ॻΛ͓͞Β͍ͯ͠Έ·ͨ͠ • ʮͦ͏͍͑ͦ͏ͩͬͨΑͳʯʮͦ͏ͩͬ ͨΜͩʯͱৼΓฦΔػձʹͳΕ͍Ͱ͢ • ͕࣌ؒ͋Εࠓळ͔Βొͨ͠ূ໌ॻͳͲΛ հ͔ͨͬͨ͠ͷͰ͕͢…
None
Conclusion • iOSͷূ໌ॻΛ͓͞Β͍ͯ͠Έ·ͨ͠ • ʮͦ͏͍͑ͦ͏ͩͬͨΑͳʯʮͦ͏ͩͬ ͨΜͩʯͱৼΓฦΔػձʹͳΕ͍Ͱ͢ • ͕࣌ؒ͋Εࠓळ͔Βొͨ͠ূ໌ॻͳͲΛ հ͔ͨͬͨ͠ͷͰ͕͢…
Conclusion • iOSͷূ໌ॻΛ͓͞Β͍ͯ͠Έ·ͨ͠ • ʮͦ͏͍͑ͦ͏ͩͬͨΑͳʯʮͦ͏ͩͬ ͨΜͩʯͱৼΓฦΔػձʹͳΕ͍Ͱ͢ • ͕࣌ؒ͋Εࠓळ͔Βొͨ͠ূ໌ॻͳͲΛ հ͔ͨͬͨ͠ͷͰ͕͢…
Thank you!