https://idmsa.apple.com: Used to authenticate to get a valid session
https://developerservices2.apple.com:
Get a list of all available provisioning profiles
Register new devices
https://developer.apple.com:
List all devices, certificates, apps and app groups
Create new certificates, provisioning profiles and apps
Disable/enable services on apps and assign them to app groups
Delete certificates and apps
Repair provisioning profiles
Download provisioning profiles
Team selection
https://itunesconnect.apple.com:
Managing apps
Managing beta testers
Submitting updates to review
Managing app metadata
https://du-itc.itunesconnect.apple.com:
Upload icons, screenshots, trailers …
Contributing
To get things running locally after cloning the repo:
$ swift package --enable-prefetching generate-xcodeproj
$ open Shuttle.xcodeproj
If you want to be able to run the Sources/Development/main.swift file to test changes you just need to switch to use the Development scheme in Xcode and then edit the scheme settings and add two environment variables for USERNAME and PASSWORD (don’t worry the Xcode project is in the gitignore so you won’t accidently push up your credentials to the repo)
Shuttle
This basically a port of fastlane’s spaceship which is an HTTP client for interacting with the Apple Developer portal and iTunesConnect.
Example
To see an example of the currently available APIs available see Sources/Development/main.swift
ToDO List:
API Endpoints
Overview of the used API endpoints
https://idmsa.apple.com
: Used to authenticate to get a valid sessionhttps://developerservices2.apple.com
:https://developer.apple.com
:https://itunesconnect.apple.com
:https://du-itc.itunesconnect.apple.com
:Contributing
To get things running locally after cloning the repo:
If you want to be able to run the Sources/Development/main.swift file to test changes you just need to switch to use the
Development
scheme in Xcode and then edit the scheme settings and add two environment variables forUSERNAME
andPASSWORD
(don’t worry the Xcode project is in the gitignore so you won’t accidently push up your credentials to the repo)