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
170
0
Share
meetup_201910.pdf
kamui_project
October 09, 2019
More Decks by kamui_project
See All by kamui_project
String Catalog
tony1224
1
2.4k
DI整備でneedleを使った話
tony1224
0
300
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
330
Other Decks in Programming
See All in Programming
Claude Codeログ基盤の構築
giginet
PRO
7
3.8k
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
210
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
110
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
270
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
250
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
640
Tamach-sre-3_ANDPAD-shimaison93
mane12yurks38
0
240
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
170
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
300
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
270
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
180
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
320
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
190
For a Future-Friendly Web
brad_frost
183
10k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
780
How GitHub (no longer) Works
holman
316
150k
How to Ace a Technical Interview
jacobian
281
24k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Making Projects Easy
brettharned
120
6.6k
How to Talk to Developers About Accessibility
jct
2
170
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
350
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!