Class: Produce::DeveloperCenter

Inherits:
Object
  • Object
show all
Defined in:
lib/produce/developer_center.rb

Instance Method Summary collapse

Instance Method Details

#app_identifierObject



43
44
45
# File 'lib/produce/developer_center.rb', line 43

def app_identifier
  Produce.config[:app_identifier].to_s
end

#create_new_appObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/produce/developer_center.rb', line 10

def create_new_app
  ENV["CREATED_NEW_APP_ID"] = Time.now.to_i.to_s

  if app_exists?
    UI.success "[DevCenter] App '#{Produce.config[:app_identifier]}' already exists, nothing to do on the Dev Center"
    ENV["CREATED_NEW_APP_ID"] = nil
    # Nothing to do here
  else
    app_name = Produce.config[:app_name]
    UI.message "Creating new app '#{app_name}' on the Apple Dev Center"

    app = Spaceship.app.create!(bundle_id: app_identifier,
                                     name: app_name,
                                     mac: Produce.config[:platform] == "osx")

    if app.name != Produce.config[:app_name]
      UI.important("Your app name includes non-ASCII characters, which are not supported by the Apple Developer Portal.")
      UI.important("To fix this a unique (internal) name '#{app.name}' has been created for you. Your app's real name '#{Produce.config[:app_name]}'")
      UI.important("will still show up correctly on iTunes Connect and the App Store.")
    end

    UI.message "Created app #{app.app_id}"

    UI.crash!("Something went wrong when creating the new app - it's not listed in the apps list") unless app_exists?

    ENV["CREATED_NEW_APP_ID"] = Time.now.to_i.to_s

    UI.success "Finished creating new app '#{app_name}' on the Dev Center"
  end

  return true
end

#runObject



5
6
7
8
# File 'lib/produce/developer_center.rb', line 5

def run
  
  create_new_app
end