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
kamui_project
October 09, 2019
Programming
0
140
meetup_201910.pdf
kamui_project
October 09, 2019
Tweet
Share
More Decks by kamui_project
See All by kamui_project
String Catalog
tony1224
1
1.8k
DI整備でneedleを使った話
tony1224
0
220
potatotips_201906.pdf
tony1224
0
75
potatotips_201905.pdf
tony1224
1
450
andfactory_201903.pdf
tony1224
0
1.2k
Dividing Model into layers and implementing Unit Test
tony1224
1
1k
WWDC18 cherry-pick Xcode 10 beta
tony1224
0
260
Other Decks in Programming
See All in Programming
距離関数を極める! / SESSIONS 2024
gam0022
0
290
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
230
subpath importsで始めるモック生活
10tera
0
320
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
Functional Event Sourcing using Sekiban
tomohisa
0
100
Arm移行タイムアタック
qnighy
0
340
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
200
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.8k
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
940
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.2k
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Being A Developer After 40
akosma
87
590k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
A designer walks into a library…
pauljervisheath
204
24k
Music & Morning Musume
bryan
46
6.2k
For a Future-Friendly Web
brad_frost
175
9.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Six Lessons from altMBA
skipperchong
27
3.5k
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!