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
130
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.5k
DI整備でneedleを使った話
tony1224
0
170
potatotips_201906.pdf
tony1224
0
65
potatotips_201905.pdf
tony1224
1
410
andfactory_201903.pdf
tony1224
0
1.1k
Dividing Model into layers and implementing Unit Test
tony1224
1
1k
WWDC18 cherry-pick Xcode 10 beta
tony1224
0
190
Other Decks in Programming
See All in Programming
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
300
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
100
Git Rebase
bkuhlmann
11
1.6k
Build with AI 2024 Seoul - 제로부터 시작하는 Flutter with Gemini 생활 - 박제창
itsmedreamwalker
0
200
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
1.1k
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
220
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
8
2.2k
Folding Cheat Sheet #3
philipschwarz
PRO
0
120
Ruby Function Composition
bkuhlmann
1
330
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
370
チーム力を高めるスクラム実践法:カンバン公開と課題攻略について - ニフティのスクラムトーク Vol. 2 - NIFTY Tech Talk #18
niftycorp
PRO
1
110
Java 22 Overview
kishida
1
170
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
354
18k
Statistics for Hackers
jakevdp
789
220k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.5k
Facilitating Awesome Meetings
lara
41
5.6k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Rails Girls Zürich Keynote
gr2m
91
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
658
120k
Code Reviewing Like a Champion
maltzj
513
39k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
How to name files
jennybc
64
92k
Being A Developer After 40
akosma
56
580k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
273
13k
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!