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
デバイス管理を App Store Connect API でやってみよう
Search
Shota Kashihara
June 18, 2019
Technology
2
700
デバイス管理を App Store Connect API でやってみよう
Shota Kashihara
June 18, 2019
Tweet
Share
More Decks by Shota Kashihara
See All by Shota Kashihara
ふりかえり “Demystify SwiftUI”
shotakashihara
0
250
UI デザインシステム
shotakashihara
2
2.4k
アプリのログをチーム外で活用してもらうためにやったこと
shotakashihara
0
580
iOS エンジニアが KMM で2つの アプリのログイン処理を共通化した話
shotakashihara
1
680
iOS 14 からの Universal Links
shotakashihara
1
3.8k
iOSアプリ自動ログテストのススメ
shotakashihara
2
1.3k
Trace outside of stack trace
shotakashihara
11
2.2k
App startup time with Dynamic/Static frameworks
shotakashihara
4
880
Other Decks in Technology
See All in Technology
クロスアカウントな RDS Snapshot Export による カジュアルなデータ集約の仕組み / 202501-finatext-technight-lt
wa6sn
1
130
顧客の声を集めて活かすリクルートPdMのVoC活用事例を徹底解剖!〜プロデザ!〜
recruitengineers
PRO
0
150
Mocking your codebase without cursing it
gaqzi
0
140
Platform EngineeringがあればSREはいらない!? 新時代のSREに求められる役割とは
mshibuya
2
3.5k
財務データを題材に、 ETLとは何であるかを考える
shoe116
5
1.9k
教師なし学習の基礎
kanojikajino
4
320
GDG Tokyo 生成 AI 論文をわいわい読む会
enakai00
0
260
フラット構造をやめた理由と、EM / Tech Leadを作った理由
baroqueworksdev
0
390
[TechNight #86] Oracle GoldenGate - 23ai 最新情報&プロジェクトからの学び
oracle4engineer
PRO
1
100
実践!生成AIのビジネス活用 / How to utilize Generative AI in your own business
gakumura
1
200
レイクハウスとはなんだったのか?
akuwano
15
1.8k
RevOpsへ至る道 データ活用による事業革新への挑戦 / path-to-revops
pei0804
2
580
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Adopting Sorbet at Scale
ufuk
74
9.2k
RailsConf 2023
tenderlove
29
980
Producing Creativity
orderedlist
PRO
343
39k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
39
1.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
KATA
mclloyd
29
14k
Done Done
chrislema
182
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Transcript
©2019 Wantedly, Inc. σόΠεཧΛ App Store Connect API Ͱ ͬͯΈΑ͏
potatotips #62 June 18, 2019 - @kashihararara
©2019 Wantedly, Inc. Introduction Shota Kashihara Wantedly People / iOS
©2019 Wantedly, Inc. App Store Connect API ͱ Introduction
©2019 Wantedly, Inc. Introduction App Store Connect API ͱ Ϋϥογϡͷൃੜॴɺൃੜܦ࿏Λهͨ͠ϩά
https://developer.apple.com/jp/app-store-connect/api/
©2019 Wantedly, Inc. Introduction App Store Connect API ͱ Ϋϥογϡͷൃੜॴɺൃੜܦ࿏Λهͨ͠ϩά
https://developer.apple.com/jp/app-store-connect/api/
©2019 Wantedly, Inc. ϓϩϏδϣχϯά͕͑ΔΑ͏ʹͳͬͯͨ Introduction (͍ͭͷ·ʹ͔)
©2019 Wantedly, Inc. ͬͦͬͯ͘͞ΈΑ͏ Introduction
©2019 Wantedly, Inc. Introduction ϓϩϏδϣχϯά API Ͱ͑ΔϦιʔε - Bundle ID,
Bundle ID Capabilities - Certificates - Devices - Profiles https://developer.apple.com/jp/app-store-connect/api/
©2019 Wantedly, Inc. $ swift package init --type executable Introduction
͔ͤͬ͘ͳͷͰ Swift CLI Ͱ࡞Δ $ mkdir <PROJECT> && cd ./<PROJECT>
©2019 Wantedly, Inc. Introduction App Store Connect API Λ͏ 2εςοϓ
- JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘
©2019 Wantedly, Inc. Introduction App Store Connect API Λ͏ 2εςοϓ
- JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠεՃ
©2019 Wantedly, Inc. Introduction App Store Connect API Λ͏ 2εςοϓ
- JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠεՃ
©2019 Wantedly, Inc. Introduction JWT (JSON Web Token) ͷൃߦ -
Issuer ID - Key ID - Private Key(.p8) IUUQTBQQTUPSFDPOOFDUBQQMFDPNBDDFTTBQJ https://appstoreconnect.apple.com/access/api
©2019 Wantedly, Inc. Introduction JWT (JSON Web Token) ͷൃߦ -
Issuer ID - Key ID - Private Key(.p8)
©2019 Wantedly, Inc. Introduction IBM-Swift/SwiftJWT
©2019 Wantedly, Inc. Introduction - Issuer ID - Key ID
- Private Key(.p8) IBM-Swift/SwiftJWT
©2019 Wantedly, Inc. Introduction - Issuer ID - Key ID
- Private Key(.p8) IBM-Swift/SwiftJWT
©2019 Wantedly, Inc. Introduction IBM-Swift/SwiftJWT
©2019 Wantedly, Inc. Introduction App Store Connect API Λ͏ 2εςοϓ
- JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠεՃ
©2019 Wantedly, Inc. Introduction App Store Connect API Λ͏ 2εςοϓ
- JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠεՃ
©2019 Wantedly, Inc. Introduction GET σόΠεҰཡ https://developer.apple.com/documentation/appstoreconnectapi/list_devices
©2019 Wantedly, Inc. Introduction GET σόΠεҰཡ https://developer.apple.com/documentation/appstoreconnectapi/list_devices
©2019 Wantedly, Inc. Introduction Response Spec https://developer.apple.com/documentation/appstoreconnectapi/devicesresponse
©2019 Wantedly, Inc. Introduction - Codable ·ͣ Response Λఆٛ
©2019 Wantedly, Inc. Introduction GET σόΠεҰཡ
©2019 Wantedly, Inc. Introduction GET σόΠεҰཡ
©2019 Wantedly, Inc. Introduction GET σόΠεҰཡ
©2019 Wantedly, Inc. Introduction App Store Connect API Λ͏ 2εςοϓ
- JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠεՃ
©2019 Wantedly, Inc. Introduction App Store Connect API Λ͏ 2εςοϓ
- JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠεՃ
©2019 Wantedly, Inc. Introduction POST σόΠεՃ https://developer.apple.com/documentation/appstoreconnectapi/register_a_new_device
©2019 Wantedly, Inc. Introduction POST σόΠεՃ https://developer.apple.com/documentation/appstoreconnectapi/register_a_new_device
©2019 Wantedly, Inc. Introduction https://developer.apple.com/documentation/appstoreconnectapi/devicecreaterequ Request Spec
©2019 Wantedly, Inc. Introduction - Codable Request body Λఆٛ
©2019 Wantedly, Inc. Introduction POST σόΠεՃ
©2019 Wantedly, Inc. Introduction POST σόΠεՃ
©2019 Wantedly, Inc. Introduction POST σόΠεՃ
©2019 Wantedly, Inc. Introduction ·ͱΊ - App Store Connect API
Swift Ͱ ؆୯ʹ͑ΔΑ - ࣍ Github ͱ Bitrise Ͱ͍͍ײ͡ʹ͍ͨ͠ - ͍ͭͰʹ Swift Ͱ CLI πʔϧ Λ֮͑Δ͖͔͚ͬʹͳΔΑ