18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'produce/lib/produce/itunes_connect.rb', line 18
def create_new_app
application = fetch_application
if application
UI.success("App '#{Produce.config[:app_identifier]}' already exists (#{application.apple_id}), nothing to do on App Store Connect")
else
UI.success("Creating new app '#{Produce.config[:app_name]}' on App Store Connect")
platforms = Produce.config[:platforms] || [Produce.config[:platform]]
Produce.config[:bundle_identifier_suffix] = '' unless wildcard_bundle?
generated_app = Spaceship::Tunes::Application.create!(name: Produce.config[:app_name],
primary_language: language,
sku: Produce.config[:sku].to_s, bundle_id: app_identifier,
bundle_id_suffix: Produce.config[:bundle_identifier_suffix],
company_name: Produce.config[:company_name],
platforms: platforms,
itunes_connect_users: Produce.config[:itc_users])
UI.crash!("Something went wrong when creating the new app on iTC") if generated_app["adamId"].to_s.empty?
application = fetch_application
counter = 0
while application.nil?
counter += 1
UI.crash!("Couldn't find newly created app on App Store Connect - please check the website for more information") if counter == 200
UI.message("Waiting for the newly created application to be available on App Store Connect...")
sleep(15)
application = fetch_application
end
UI.crash!("Something went wrong when creating the new app - it's not listed in the App's list") unless application
UI.message("Ensuring version number")
platforms.each do |platform|
application.ensure_version!(Produce.config[:app_version], platform: platform) if Produce.config[:app_version]
end
UI.success("Successfully created new app '#{Produce.config[:app_name]}' on App Store Connect with ID #{application.apple_id}")
end
return Spaceship::Tunes::Application.find(@full_bundle_identifier, mac: platform == "osx").apple_id
end
|