Skip to content

thecb4/MotherShip

Repository files navigation

Mothership

iTunes Connect Library inspired by FastLane

version Swift Build Status Platforms Swift Package Manager compatible Carthage compatible License: MIT

I wrote MotherShip for two reasons.

  1. love FastLane, but I am not proficient in Ruby.
  2. I wanted to see how difficult it would be to write a port.

What can MotherShip do?

  1. Login to iTunesConnect
  2. Get list of Testers
  3. Get list of Groups
  4. Get list of Versions
  5. Get list of Builds
  6. Get App level Test Info
  7. Invite someone to test an app
  8. Update App level Test Information!
  9. Get Build Details
  10. Update Build Test Info
import MotherShip

let firstName = "C"
let lastName  = "B"
let email     = "[email protected]"

let tester = Tester(email: email, firstName: firstName, lastName: lastName)

let testFlight = TestFlight()

testFlight.login(with: creds)

let code = testFlight.invite(tester: tester, to: appInfo.appIdentifier, for: appInfo.teamIdentifier, groupName: appInfo.testGroup)

To Do

  • Documentation
  • Ability to update app info
  • Upload build
  • Code signing? Or just leave it up to Apple
  • Two-Factor Authentication?

There is a Command Line Interface for MotherShip.

MotherShip-CLI

$ mothership login <user> <password>
$ mothership testflight invite <email> <first-name> <last-name> <app-id> <team-id>

NOTE

I've been working to get MotherShip to work on Linux, but there are open issues with URLSession using cookies that need to be resolved first PR1542