Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
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
84
potatotips_201905.pdf
tony1224
1
480
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
310
Other Decks in Programming
See All in Programming
Microservices rules: What good looks like
cer
PRO
0
1.4k
AIコーディングエージェント(skywork)
kondai24
0
170
配送計画の均等化機能を提供する取り組みについて(⽩⾦鉱業 Meetup Vol.21@六本⽊(数理最適化編))
izu_nori
0
150
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
320
SwiftUIで本格音ゲー実装してみた
hypebeans
0
370
Cap'n Webについて
yusukebe
0
130
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
11
11k
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
240
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
500
愛される翻訳の秘訣
kishikawakatsumi
3
330
AWS CDKの推しポイントN選
akihisaikeda
1
240
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
2
1.1k
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Building Applications with DynamoDB
mza
96
6.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Fireside Chat
paigeccino
41
3.7k
Designing for Performance
lara
610
69k
Building an army of robots
kneath
306
46k
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!