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
660
デバイス管理を 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
230
UI デザインシステム
shotakashihara
2
2.3k
アプリのログをチーム外で活用してもらうためにやったこと
shotakashihara
0
570
iOS エンジニアが KMM で2つの アプリのログイン処理を共通化した話
shotakashihara
1
660
iOS 14 からの Universal Links
shotakashihara
1
3.8k
iOSアプリ自動ログテストのススメ
shotakashihara
2
1.3k
Trace outside of stack trace
shotakashihara
12
2.2k
App startup time with Dynamic/Static frameworks
shotakashihara
4
860
Other Decks in Technology
See All in Technology
Terraform Stacks入門 #HashiTalks
msato
0
350
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
1
2.3k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Gamification - CAS2011
davidbonilla
80
5k
Bash Introduction
62gerente
608
210k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Into the Great Unknown - MozCon
thekraken
32
1.5k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
What's in a price? How to price your products and services
michaelherold
243
12k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Agile that works and the tools we love
rasmusluckow
327
21k
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 πʔϧ Λ֮͑Δ͖͔͚ͬʹͳΔΑ