Class: Spaceship::Launcher

Inherits:
Object
  • Object
show all
Defined in:
lib/spaceship/launcher.rb

Instance Attribute Summary collapse

Login Helper collapse

Helper methods for managing multiple instances of spaceship collapse

Instance Method Summary collapse

Constructor Details

#initialize(user = nil, password = nil) ⇒ Launcher

Launch a new spaceship, which can be used to maintain multiple instances of spaceship. You can call `.new` without any parameters, but you'll have to call `.login` at a later point. If you prefer, you can pass the login credentials here already.

Authenticates with Apple's web services. This method has to be called once to generate a valid session. The session will automatically be used from then on.

This method will automatically use the username from the Appfile (if available) and fetch the password from the Keychain (if available)

Parameters:

  • user (String) (defaults to: nil)

    (optional): The username (usually the email address)

  • password (String) (defaults to: nil)

    (optional): The password

Raises:

  • InvalidUserCredentialsError: raised if authentication failed


21
22
23
24
25
26
27
# File 'lib/spaceship/launcher.rb', line 21

def initialize(user = nil, password = nil)
  @client = Client.new

  if user or password
    @client.(user, password)
  end
end

Instance Attribute Details

#clientObject

Returns the value of attribute client


3
4
5
# File 'lib/spaceship/launcher.rb', line 3

def client
  @client
end

Instance Method Details

#appClass

Returns Access the apps for this spaceship.

Returns:

  • (Class)

    Access the apps for this spaceship


70
71
72
# File 'lib/spaceship/launcher.rb', line 70

def app
  Spaceship::App.set_client(@client)
end

#certificateClass

Returns Access the certificates for this spaceship.

Returns:

  • (Class)

    Access the certificates for this spaceship


80
81
82
# File 'lib/spaceship/launcher.rb', line 80

def certificate
  Spaceship::Certificate.set_client(@client)
end

#deviceClass

Returns Access the devices for this spaceship.

Returns:

  • (Class)

    Access the devices for this spaceship


75
76
77
# File 'lib/spaceship/launcher.rb', line 75

def device
  Spaceship::Device.set_client(@client)
end

#login(user, password) ⇒ Spaceship::Client

Authenticates with Apple's web services. This method has to be called once to generate a valid session. The session will automatically be used from then on.

This method will automatically use the username from the Appfile (if available) and fetch the password from the Keychain (if available)

Parameters:

  • user (String)

    (optional): The username (usually the email address)

  • password (String)

    (optional): The password

Returns:

Raises:

  • InvalidUserCredentialsError: raised if authentication failed


46
47
48
# File 'lib/spaceship/launcher.rb', line 46

def (user, password) 
  @client.(user, password)
end

#provisioning_profileClass

Returns Access the provisioning profiles for this spaceship.

Returns:

  • (Class)

    Access the provisioning profiles for this spaceship


85
86
87
# File 'lib/spaceship/launcher.rb', line 85

def provisioning_profile
  Spaceship::ProvisioningProfile.set_client(@client)
end

#select_teamString

Open up the team selection for the user (if necessary).

If the user is in multiple teams, a team selection is shown. The user can then select a team by entering the number

Additionally, the team ID is shown next to each team name so that the user can use the environment variable `FASTLANE_TEAM_ID` for future user.

Returns:

  • (String)

    The ID of the select team. You also get the value if the user is only in one team.


61
62
63
# File 'lib/spaceship/launcher.rb', line 61

def select_team
  @client.select_team
end