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
720
デバイス管理を 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
260
UI デザインシステム
shotakashihara
2
2.5k
アプリのログをチーム外で活用してもらうためにやったこと
shotakashihara
0
590
iOS エンジニアが KMM で2つの アプリのログイン処理を共通化した話
shotakashihara
1
680
iOS 14 からの Universal Links
shotakashihara
1
3.9k
iOSアプリ自動ログテストのススメ
shotakashihara
2
1.3k
Trace outside of stack trace
shotakashihara
11
2.3k
App startup time with Dynamic/Static frameworks
shotakashihara
4
890
Other Decks in Technology
See All in Technology
AIエージェント元年
shukob
0
160
JavaにおけるNull非許容性
skrb
2
2.6k
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
620
AIエージェント入門
minorun365
PRO
31
17k
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.1k
日経のデータベース事業とElasticsearch
hinatades
PRO
0
230
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
210
脳波を用いた嗜好マッチングシステム
hokkey621
0
280
What's new in Go 1.24?
ciarana
1
110
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
2
270
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
220
Windows の新しい管理者保護モード
murachiakira
0
200
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
Practical Orchestrator
shlominoach
186
10k
Six Lessons from altMBA
skipperchong
27
3.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Unsuck your backbone
ammeep
669
57k
Building an army of robots
kneath
303
45k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Bash Introduction
62gerente
611
210k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Building Your Own Lightsaber
phodgson
104
6.2k
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 πʔϧ Λ֮͑Δ͖͔͚ͬʹͳΔΑ