Slide 1

Slide 1 text

©2019 Wantedly, Inc. σόΠε؅ཧΛ App Store Connect API Ͱ ΍ͬͯΈΑ͏ potatotips #62 June 18, 2019 - @kashihararara

Slide 2

Slide 2 text

©2019 Wantedly, Inc. Introduction Shota Kashihara Wantedly People / iOS

Slide 3

Slide 3 text

©2019 Wantedly, Inc. App Store Connect API ͱ͸ Introduction

Slide 4

Slide 4 text

©2019 Wantedly, Inc. Introduction App Store Connect API ͱ͸ Ϋϥογϡͷൃੜ৔ॴ΍ɺൃੜܦ࿏Λه࿥ͨ͠ϩά https://developer.apple.com/jp/app-store-connect/api/

Slide 5

Slide 5 text

©2019 Wantedly, Inc. Introduction App Store Connect API ͱ͸ Ϋϥογϡͷൃੜ৔ॴ΍ɺൃੜܦ࿏Λه࿥ͨ͠ϩά https://developer.apple.com/jp/app-store-connect/api/

Slide 6

Slide 6 text

©2019 Wantedly, Inc. ϓϩϏδϣχϯά͕࢖͑ΔΑ͏ʹͳͬͯͨ Introduction (͍ͭͷ·ʹ͔)

Slide 7

Slide 7 text

©2019 Wantedly, Inc. ͬͦ͘͞࢖ͬͯΈΑ͏ Introduction

Slide 8

Slide 8 text

©2019 Wantedly, Inc. Introduction ϓϩϏδϣχϯά API Ͱ࢖͑ΔϦιʔε - Bundle ID, Bundle ID Capabilities - Certificates - Devices - Profiles https://developer.apple.com/jp/app-store-connect/api/

Slide 9

Slide 9 text

©2019 Wantedly, Inc. $ swift package init --type executable Introduction ͔ͤͬ͘ͳͷͰ Swift CLI Ͱ࡞Δ $ mkdir && cd ./

Slide 10

Slide 10 text

©2019 Wantedly, Inc. Introduction App Store Connect API Λ࢖͏ 2εςοϓ - JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘

Slide 11

Slide 11 text

©2019 Wantedly, Inc. Introduction App Store Connect API Λ࢖͏ 2εςοϓ - JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠε௥Ճ

Slide 12

Slide 12 text

©2019 Wantedly, Inc. Introduction App Store Connect API Λ࢖͏ 2εςοϓ - JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠε௥Ճ

Slide 13

Slide 13 text

©2019 Wantedly, Inc. Introduction JWT (JSON Web Token) ͷൃߦ - Issuer ID - Key ID - Private Key(.p8) IUUQTBQQTUPSFDPOOFDUBQQMFDPNBDDFTTBQJ https://appstoreconnect.apple.com/access/api

Slide 14

Slide 14 text

©2019 Wantedly, Inc. Introduction JWT (JSON Web Token) ͷൃߦ - Issuer ID - Key ID - Private Key(.p8)

Slide 15

Slide 15 text

©2019 Wantedly, Inc. Introduction IBM-Swift/SwiftJWT

Slide 16

Slide 16 text

©2019 Wantedly, Inc. Introduction - Issuer ID - Key ID - Private Key(.p8) IBM-Swift/SwiftJWT

Slide 17

Slide 17 text

©2019 Wantedly, Inc. Introduction - Issuer ID - Key ID - Private Key(.p8) IBM-Swift/SwiftJWT

Slide 18

Slide 18 text

©2019 Wantedly, Inc. Introduction IBM-Swift/SwiftJWT

Slide 19

Slide 19 text

©2019 Wantedly, Inc. Introduction App Store Connect API Λ࢖͏ 2εςοϓ - JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠε௥Ճ

Slide 20

Slide 20 text

©2019 Wantedly, Inc. Introduction App Store Connect API Λ࢖͏ 2εςοϓ - JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠε௥Ճ

Slide 21

Slide 21 text

©2019 Wantedly, Inc. Introduction GET σόΠεҰཡ https://developer.apple.com/documentation/appstoreconnectapi/list_devices

Slide 22

Slide 22 text

©2019 Wantedly, Inc. Introduction GET σόΠεҰཡ https://developer.apple.com/documentation/appstoreconnectapi/list_devices

Slide 23

Slide 23 text

©2019 Wantedly, Inc. Introduction Response Spec https://developer.apple.com/documentation/appstoreconnectapi/devicesresponse

Slide 24

Slide 24 text

©2019 Wantedly, Inc. Introduction - Codable ·ͣ͸ Response Λఆٛ

Slide 25

Slide 25 text

©2019 Wantedly, Inc. Introduction GET σόΠεҰཡ

Slide 26

Slide 26 text

©2019 Wantedly, Inc. Introduction GET σόΠεҰཡ

Slide 27

Slide 27 text

©2019 Wantedly, Inc. Introduction GET σόΠεҰཡ

Slide 28

Slide 28 text

©2019 Wantedly, Inc. Introduction App Store Connect API Λ࢖͏ 2εςοϓ - JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠε௥Ճ

Slide 29

Slide 29 text

©2019 Wantedly, Inc. Introduction App Store Connect API Λ࢖͏ 2εςοϓ - JWT (JSON Web Token) ͷൃߦ - ϦΫΤετϔομʹ Token Λ͚ͭͯ API Λୟ͘ - GET σόΠεҰཡ - POST σόΠε௥Ճ

Slide 30

Slide 30 text

©2019 Wantedly, Inc. Introduction POST σόΠε௥Ճ https://developer.apple.com/documentation/appstoreconnectapi/register_a_new_device

Slide 31

Slide 31 text

©2019 Wantedly, Inc. Introduction POST σόΠε௥Ճ https://developer.apple.com/documentation/appstoreconnectapi/register_a_new_device

Slide 32

Slide 32 text

©2019 Wantedly, Inc. Introduction https://developer.apple.com/documentation/appstoreconnectapi/devicecreaterequ Request Spec

Slide 33

Slide 33 text

©2019 Wantedly, Inc. Introduction - Codable Request body Λఆٛ

Slide 34

Slide 34 text

©2019 Wantedly, Inc. Introduction POST σόΠε௥Ճ

Slide 35

Slide 35 text

©2019 Wantedly, Inc. Introduction POST σόΠε௥Ճ

Slide 36

Slide 36 text

©2019 Wantedly, Inc. Introduction POST σόΠε௥Ճ

Slide 37

Slide 37 text

©2019 Wantedly, Inc. Introduction ·ͱΊ - App Store Connect API ͸ Swift Ͱ ؆୯ʹ࢖͑ΔΑ - ࣍͸ Github ͱ Bitrise Ͱ͍͍ײ͡ʹ͍ͨ͠ - ͍ͭͰʹ Swift Ͱ CLI πʔϧ Λ֮͑Δ͖͔͚ͬʹ΋ͳΔΑ