fastlane 2.157.2 → 2.157.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +66 -66
  3. data/deliver/lib/deliver/runner.rb +0 -1
  4. data/fastlane/lib/fastlane/actions/{.git_commit.rb.swp → .ensure_git_status_clean.rb.swp} +0 -0
  5. data/fastlane/lib/fastlane/actions/.hockey.rb.swp +0 -0
  6. data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
  7. data/fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp +0 -0
  8. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +11 -8
  9. data/fastlane/lib/fastlane/actions/download_dsyms.rb +87 -68
  10. data/fastlane/lib/fastlane/actions/set_changelog.rb +0 -1
  11. data/fastlane/lib/fastlane/version.rb +1 -1
  12. data/fastlane/swift/Deliverfile.swift +1 -1
  13. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  14. data/fastlane/swift/Fastlane.swift +12 -12
  15. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  16. data/fastlane/swift/Gymfile.swift +1 -1
  17. data/fastlane/swift/GymfileProtocol.swift +1 -1
  18. data/fastlane/swift/Matchfile.swift +1 -1
  19. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  20. data/fastlane/swift/Precheckfile.swift +1 -1
  21. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  22. data/fastlane/swift/Scanfile.swift +1 -1
  23. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  24. data/fastlane/swift/Screengrabfile.swift +1 -1
  25. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  26. data/fastlane/swift/Snapshotfile.swift +1 -1
  27. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  28. data/match/lib/match/spaceship_ensure.rb +5 -5
  29. data/{fastlane/lib/fastlane/.erb_template_helper.rb.swp → pilot/lib/pilot/.manager.rb.swp} +0 -0
  30. data/pilot/lib/pilot/build_manager.rb +0 -3
  31. data/pilot/lib/pilot/manager.rb +1 -2
  32. data/produce/lib/produce/itunes_connect.rb +0 -1
  33. data/sigh/lib/assets/resign.sh +9 -6
  34. data/sigh/lib/sigh/runner.rb +0 -1
  35. data/spaceship/lib/spaceship/client.rb +1 -0
  36. data/spaceship/lib/spaceship/connect_api.rb +1 -0
  37. data/spaceship/lib/spaceship/{.DS_Store → connect_api/.DS_Store} +0 -0
  38. data/spaceship/lib/spaceship/connect_api/client.rb +10 -4
  39. data/spaceship/lib/spaceship/connect_api/file_uploader.rb +2 -0
  40. data/spaceship/lib/spaceship/connect_api/models/app.rb +5 -5
  41. data/spaceship/lib/spaceship/connect_api/models/app_price_point.rb +26 -0
  42. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +7 -1
  43. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +50 -50
  44. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +8 -0
  45. metadata +25 -20
@@ -6,7 +6,6 @@ module Fastlane
6
6
 
7
7
  UI.message("Login to App Store Connect (#{params[:username]})")
8
8
  Spaceship::ConnectAPI.login(params[:username], use_portal: false, use_tunes: true)
9
- Spaceship::ConnectAPI.select_team
10
9
  UI.message("Login successful")
11
10
 
12
11
  app = Spaceship::ConnectAPI::App.find(params[:app_identifier])
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.157.2'.freeze
2
+ VERSION = '2.157.3'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '0.49.1'.freeze
@@ -14,4 +14,4 @@ class Deliverfile: DeliverfileProtocol {
14
14
  // during the `init` process, and you won't see this message
15
15
  }
16
16
 
17
- // Generated with fastlane 2.157.2
17
+ // Generated with fastlane 2.157.3
@@ -245,4 +245,4 @@ extension DeliverfileProtocol {
245
245
 
246
246
  // Please don't remove the lines below
247
247
  // They are used to detect outdated files
248
- // FastlaneRunnerAPIVersion [0.9.37]
248
+ // FastlaneRunnerAPIVersion [0.9.38]
@@ -2886,7 +2886,7 @@ func downloadDsyms(username: String,
2886
2886
  func downloadFromPlayStore(packageName: String,
2887
2887
  versionName: String? = nil,
2888
2888
  track: String = "production",
2889
- metadataPath: String? = nil,
2889
+ metadataPath: String = "./metadata",
2890
2890
  key: String? = nil,
2891
2891
  issuer: String? = nil,
2892
2892
  jsonKey: String? = nil,
@@ -7431,7 +7431,7 @@ func supply(packageName: String,
7431
7431
  releaseStatus: String = "completed",
7432
7432
  track: String = "production",
7433
7433
  rollout: String? = nil,
7434
- metadataPath: String? = nil,
7434
+ metadataPath: String = "./metadata",
7435
7435
  key: String? = nil,
7436
7436
  issuer: String? = nil,
7437
7437
  jsonKey: String? = nil,
@@ -8588,7 +8588,7 @@ func uploadToPlayStore(packageName: String,
8588
8588
  releaseStatus: String = "completed",
8589
8589
  track: String = "production",
8590
8590
  rollout: String? = nil,
8591
- metadataPath: String? = nil,
8591
+ metadataPath: String = "./metadata",
8592
8592
  key: String? = nil,
8593
8593
  issuer: String? = nil,
8594
8594
  jsonKey: String? = nil,
@@ -9118,7 +9118,7 @@ func xcov(workspace: String? = nil,
9118
9118
  coverallsServiceJobId: String? = nil,
9119
9119
  coverallsRepoToken: String? = nil,
9120
9120
  xcconfig: String? = nil,
9121
- ideFoundationPath: String = "/Applications/Xcode-11.5.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
9121
+ ideFoundationPath: String = "/Applications/Xcode-12.beta.5.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
9122
9122
  legacySupport: Bool = false)
9123
9123
  {
9124
9124
  let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
@@ -9254,14 +9254,14 @@ func parseInt(fromString: String, function: String = #function) -> Int {
9254
9254
  return NSString(string: fromString.trimmingCharacters(in: .punctuationCharacters)).integerValue
9255
9255
  }
9256
9256
 
9257
- let deliverfile: Deliverfile = Deliverfile()
9258
- let gymfile: Gymfile = Gymfile()
9259
- let matchfile: Matchfile = Matchfile()
9260
- let precheckfile: Precheckfile = Precheckfile()
9261
- let scanfile: Scanfile = Scanfile()
9262
- let screengrabfile: Screengrabfile = Screengrabfile()
9263
- let snapshotfile: Snapshotfile = Snapshotfile()
9257
+ let deliverfile = Deliverfile()
9258
+ let gymfile = Gymfile()
9259
+ let matchfile = Matchfile()
9260
+ let precheckfile = Precheckfile()
9261
+ let scanfile = Scanfile()
9262
+ let screengrabfile = Screengrabfile()
9263
+ let snapshotfile = Snapshotfile()
9264
9264
 
9265
9265
  // Please don't remove the lines below
9266
9266
  // They are used to detect outdated files
9267
- // FastlaneRunnerAPIVersion [0.9.90]
9267
+ // FastlaneRunnerAPIVersion [0.9.91]
@@ -14,4 +14,4 @@ class Gymfile: GymfileProtocol {
14
14
  // during the `init` process, and you won't see this message
15
15
  }
16
16
 
17
- // Generated with fastlane 2.157.2
17
+ // Generated with fastlane 2.157.3
@@ -181,4 +181,4 @@ extension GymfileProtocol {
181
181
 
182
182
  // Please don't remove the lines below
183
183
  // They are used to detect outdated files
184
- // FastlaneRunnerAPIVersion [0.9.40]
184
+ // FastlaneRunnerAPIVersion [0.9.41]
@@ -14,4 +14,4 @@ class Matchfile: MatchfileProtocol {
14
14
  // during the `init` process, and you won't see this message
15
15
  }
16
16
 
17
- // Generated with fastlane 2.157.2
17
+ // Generated with fastlane 2.157.3
@@ -165,4 +165,4 @@ extension MatchfileProtocol {
165
165
 
166
166
  // Please don't remove the lines below
167
167
  // They are used to detect outdated files
168
- // FastlaneRunnerAPIVersion [0.9.34]
168
+ // FastlaneRunnerAPIVersion [0.9.35]
@@ -14,4 +14,4 @@ class Precheckfile: PrecheckfileProtocol {
14
14
  // during the `init` process, and you won't see this message
15
15
  }
16
16
 
17
- // Generated with fastlane 2.157.2
17
+ // Generated with fastlane 2.157.3
@@ -33,4 +33,4 @@ extension PrecheckfileProtocol {
33
33
 
34
34
  // Please don't remove the lines below
35
35
  // They are used to detect outdated files
36
- // FastlaneRunnerAPIVersion [0.9.33]
36
+ // FastlaneRunnerAPIVersion [0.9.34]
@@ -14,4 +14,4 @@ class Scanfile: ScanfileProtocol {
14
14
  // during the `init` process, and you won't see this message
15
15
  }
16
16
 
17
- // Generated with fastlane 2.157.2
17
+ // Generated with fastlane 2.157.3
@@ -257,4 +257,4 @@ extension ScanfileProtocol {
257
257
 
258
258
  // Please don't remove the lines below
259
259
  // They are used to detect outdated files
260
- // FastlaneRunnerAPIVersion [0.9.45]
260
+ // FastlaneRunnerAPIVersion [0.9.46]
@@ -14,4 +14,4 @@ class Screengrabfile: ScreengrabfileProtocol {
14
14
  // during the `init` process, and you won't see this message
15
15
  }
16
16
 
17
- // Generated with fastlane 2.157.2
17
+ // Generated with fastlane 2.157.3
@@ -93,4 +93,4 @@ extension ScreengrabfileProtocol {
93
93
 
94
94
  // Please don't remove the lines below
95
95
  // They are used to detect outdated files
96
- // FastlaneRunnerAPIVersion [0.9.35]
96
+ // FastlaneRunnerAPIVersion [0.9.36]
@@ -14,4 +14,4 @@ class Snapshotfile: SnapshotfileProtocol {
14
14
  // during the `init` process, and you won't see this message
15
15
  }
16
16
 
17
- // Generated with fastlane 2.157.2
17
+ // Generated with fastlane 2.157.3
@@ -181,4 +181,4 @@ extension SnapshotfileProtocol {
181
181
 
182
182
  // Please don't remove the lines below
183
183
  // They are used to detect outdated files
184
- // FastlaneRunnerAPIVersion [0.9.29]
184
+ // FastlaneRunnerAPIVersion [0.9.30]
@@ -19,17 +19,17 @@ module Match
19
19
  end
20
20
 
21
21
  UI.message("Verifying that the certificate and profile are still valid on the Dev Portal...")
22
- Spaceship.login(user)
23
- Spaceship.select_team(team_id: team_id, team_name: team_name)
22
+ Spaceship::ConnectAPI.login(use_portal: true, use_tunes: false)
23
+ Spaceship::ConnectAPI.select_team
24
24
  end
25
25
 
26
26
  # The team ID of the currently logged in team
27
27
  def team_id
28
- return Spaceship.client.team_id
28
+ return Spaceship::ConnectAPI.client.team_id
29
29
  end
30
30
 
31
31
  def bundle_identifier_exists(username: nil, app_identifier: nil, platform: nil)
32
- found = Spaceship.app.find(app_identifier, mac: platform == "macos")
32
+ found = Spaceship::ConnectAPI::BundleId.find(app_identifier)
33
33
  return if found
34
34
 
35
35
  require 'sigh/runner'
@@ -39,7 +39,7 @@ module Match
39
39
  })
40
40
  UI.error("An app with that bundle ID needs to exist in order to create a provisioning profile for it")
41
41
  UI.error("================================================================")
42
- available_apps = Spaceship.app.all.collect { |a| "#{a.bundle_id} (#{a.name})" }
42
+ available_apps = Spaceship::ConnectAPI::BundleId.all.collect { |a| "#{a.identifier} (#{a.name})" }
43
43
  UI.message("Available apps:\n- #{available_apps.join("\n- ")}")
44
44
  UI.error("Make sure to run `fastlane match` with the same user and team every time.")
45
45
  UI.user_error!("Couldn't find bundle identifier '#{app_identifier}' for the user '#{username}'")
@@ -364,10 +364,7 @@ module Pilot
364
364
  begin
365
365
  team = tunes_client.teams.find { |t| t['contentProvider']['contentProviderId'].to_s == tunes_client.team_id }
366
366
  name = team['contentProvider']['name']
367
- STDERR.puts("name: #{name}")
368
- STDERR.puts("id: #{generic_transporter.provider_ids}")
369
367
  provider_id = generic_transporter.provider_ids[name]
370
- STDERR.puts("provider_id: #{provider_id}")
371
368
  UI.verbose("Inferred provider id #{provider_id} for team #{name}.")
372
369
  return FastlaneCore::ItunesTransporter.new(options[:username], nil, false, provider_id)
373
370
  rescue => ex
@@ -24,8 +24,7 @@ module Pilot
24
24
  config[:username] ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
25
25
 
26
26
  UI.message("Login to App Store Connect (#{config[:username]})")
27
- Spaceship::ConnectAPI.login(config[:username], use_portal: false, use_tunes: true)
28
- Spaceship::ConnectAPI.select_team(tunes_team_id: config[:team_id], team_name: config[:team_name])
27
+ Spaceship::ConnectAPI.login(config[:username], use_portal: false, use_tunes: true, tunes_team_id: config[:team_id], team_name: config[:team_name])
29
28
  UI.message("Login successful")
30
29
  end
31
30
  end
@@ -10,7 +10,6 @@ module Produce
10
10
  @full_bundle_identifier.gsub!('*', Produce.config[:bundle_identifier_suffix].to_s) if wildcard_bundle?
11
11
 
12
12
  Spaceship::ConnectAPI.login(Produce.config[:username], nil, use_portal: false, use_tunes: true)
13
- Spaceship::ConnectAPI.client.select_team
14
13
 
15
14
  create_new_app
16
15
  end
@@ -72,6 +72,9 @@
72
72
  # new features June 2020
73
73
  # 1. enable (re)signing of OnDemandResources when ipa has been built for the appstore
74
74
  #
75
+ # new features August 2020
76
+ # 1. fixes usage for users with GNU-sed in their $PATH
77
+ #
75
78
 
76
79
  # Logging functions
77
80
 
@@ -762,7 +765,7 @@ function resign {
762
765
 
763
766
  # Get the entry from app's entitlements
764
767
  # Read it with PlistBuddy as XML, then strip the header and <plist></plist> part
765
- ENTITLEMENTS_VALUE="$(PlistBuddy -x -c "Print $KEY" "$APP_ENTITLEMENTS" 2>/dev/null | sed -e 's,.*<plist[^>]*>\(.*\)</plist>,\1,g')"
768
+ ENTITLEMENTS_VALUE="$(PlistBuddy -x -c "Print $KEY" "$APP_ENTITLEMENTS" 2>/dev/null | /usr/bin/sed -e 's,.*<plist[^>]*>\(.*\)</plist>,\1,g')"
766
769
  if [[ -z "$ENTITLEMENTS_VALUE" ]]; then
767
770
  log "No value for '$KEY'"
768
771
  continue
@@ -780,7 +783,7 @@ function resign {
780
783
  log "Certificate $CERTIFICATE matches a SHA1 pattern"
781
784
  local certificate_matches="$( security find-identity -v -p codesigning | grep -m 1 "$CERTIFICATE" )"
782
785
  if [ -n "$certificate_matches" ]; then
783
- certificate_name="$( sed -E s/[^\"]+\"\([^\"]+\)\".*/\\1/ <<< $certificate_matches )"
786
+ certificate_name="$(/usr/bin/sed -E s/[^\"]+\"\([^\"]+\)\".*/\\1/ <<< $certificate_matches )"
784
787
  log "Certificate name: $certificate_name"
785
788
  fi
786
789
  fi
@@ -807,18 +810,18 @@ function resign {
807
810
  # otherwise it interprets they key path as nested keys
808
811
  # TODO: Should be able to replace with echo ${KEY//\./\\\\.} and remove shellcheck disable directive
809
812
  # shellcheck disable=SC2001
810
- PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g')
813
+ PLUTIL_KEY=$(echo "$KEY" | /usr/bin/sed 's/\./\\\./g')
811
814
  plutil -insert "$PLUTIL_KEY" -xml "$ENTITLEMENTS_VALUE" "$PATCHED_ENTITLEMENTS"
812
815
 
813
816
  # Patch the ID value if specified
814
817
  if [[ "$ID_TYPE" == "APP_ID" ]]; then
815
818
  # Replace old value with new value in patched entitlements
816
819
  log "Replacing old app identifier prefix '$OLD_APP_ID' with new value '$NEW_APP_ID'"
817
- sed -i .bak "s/$OLD_APP_ID/$NEW_APP_ID/g" "$PATCHED_ENTITLEMENTS"
820
+ /usr/bin/sed -i .bak "s/$OLD_APP_ID/$NEW_APP_ID/g" "$PATCHED_ENTITLEMENTS"
818
821
  elif [[ "$ID_TYPE" == "TEAM_ID" ]]; then
819
822
  # Replace old team identifier with new value
820
823
  log "Replacing old team ID '$OLD_TEAM_ID' with new team ID: '$NEW_TEAM_ID'"
821
- sed -i .bak "s/$OLD_TEAM_ID/$NEW_TEAM_ID/g" "$PATCHED_ENTITLEMENTS"
824
+ /usr/bin/sed -i .bak "s/$OLD_TEAM_ID/$NEW_TEAM_ID/g" "$PATCHED_ENTITLEMENTS"
822
825
  else
823
826
  continue
824
827
  fi
@@ -835,7 +838,7 @@ function resign {
835
838
  # e.g. <string>AB1GP98Q19.com.example.foo</string>
836
839
  # vs
837
840
  # com.example.foo
838
- sed -i .bak "s!${OLD_BUNDLE_ID}</string>!${NEW_BUNDLE_ID}</string>!g" "$PATCHED_ENTITLEMENTS"
841
+ /usr/bin/sed -i .bak "s!${OLD_BUNDLE_ID}</string>!${NEW_BUNDLE_ID}</string>!g" "$PATCHED_ENTITLEMENTS"
839
842
 
840
843
  log "Resigning application using certificate: '$CERTIFICATE'"
841
844
  log "and patched entitlements:"
@@ -19,7 +19,6 @@ module Sigh
19
19
 
20
20
  UI.message("Starting login with user '#{Sigh.config[:username]}'")
21
21
  Spaceship::ConnectAPI.login(Sigh.config[:username], nil, use_portal: true, use_tunes: false)
22
- Spaceship::ConnectAPI.select_team
23
22
  UI.message("Successfully logged in")
24
23
 
25
24
  profiles = [] if Sigh.config[:skip_fetch_profiles]
@@ -6,6 +6,7 @@ require 'logger'
6
6
  require 'tmpdir'
7
7
  require 'cgi'
8
8
  require 'tempfile'
9
+ require 'openssl'
9
10
 
10
11
  require 'fastlane/version'
11
12
  require_relative 'helper/net_http_generic_request'
@@ -39,6 +39,7 @@ require 'spaceship/connect_api/models/app_info_localization'
39
39
  require 'spaceship/connect_api/models/app_preview_set'
40
40
  require 'spaceship/connect_api/models/app_preview'
41
41
  require 'spaceship/connect_api/models/app_price'
42
+ require 'spaceship/connect_api/models/app_price_point'
42
43
  require 'spaceship/connect_api/models/app_price_tier'
43
44
  require 'spaceship/connect_api/models/app_store_review_attachment'
44
45
  require 'spaceship/connect_api/models/app_store_review_detail'
@@ -51,12 +51,18 @@ module Spaceship
51
51
  portal_client = Spaceship::Portal.login(user, password) if use_portal
52
52
  tunes_client = Spaceship::Tunes.login(user, password) if use_tunes
53
53
 
54
+ # Check if environment variables are set for Spaceship::Portal or Spaceship::Tunes to select team
55
+ portal_team_id ||= ENV['FASTLANE_TEAM_ID']
56
+ portal_team_name = team_name || ENV['FASTLANE_TEAM_NAME']
57
+ tunes_team_id ||= ENV['FASTLANE_ITC_TEAM_ID']
58
+ tunes_team_name = team_name || ENV['FASTLANE_ITC_TEAM_NAME']
59
+
54
60
  # The clients will automatically select the first team if none is given
55
- if portal_client && (!portal_team_id.nil? || !team_name.nil?)
56
- portal_client.select_team(team_id: portal_team_id, team_name: team_name)
61
+ if portal_client && (!portal_team_id.to_s.strip.empty? || !portal_team_name.to_s.strip.empty?)
62
+ portal_client.select_team(team_id: portal_team_id, team_name: portal_team_name)
57
63
  end
58
- if tunes_client && (!tunes_team_id.nil? || !team_name.nil?)
59
- tunes_client.select_team(team_id: tunes_team_id, team_name: team_name)
64
+ if tunes_client && (!tunes_team_id.to_s.strip.empty? || !tunes_team_name.to_s.strip.empty?)
65
+ tunes_client.select_team(team_id: tunes_team_id, team_name: tunes_team_name)
60
66
  end
61
67
 
62
68
  return ConnectAPI::Client.new(tunes_client: tunes_client, portal_client: portal_client)
@@ -4,6 +4,8 @@ require 'faraday_middleware'
4
4
 
5
5
  require 'spaceship/globals'
6
6
 
7
+ require 'openssl'
8
+
7
9
  module Spaceship
8
10
  class ConnectAPI
9
11
  module FileUploader
@@ -192,7 +192,7 @@ module Spaceship
192
192
  .last
193
193
  end
194
194
 
195
- def get_live_app_store_version(platform: nil, includes: nil)
195
+ def get_live_app_store_version(platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES)
196
196
  platform ||= Spaceship::ConnectAPI::Platform::IOS
197
197
  filter = {
198
198
  appStoreState: Spaceship::ConnectAPI::AppStoreVersion::AppStoreState::READY_FOR_SALE,
@@ -201,7 +201,7 @@ module Spaceship
201
201
  return get_app_store_versions(filter: filter, includes: includes).first
202
202
  end
203
203
 
204
- def get_edit_app_store_version(platform: nil, includes: nil)
204
+ def get_edit_app_store_version(platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES)
205
205
  platform ||= Spaceship::ConnectAPI::Platform::IOS
206
206
  filter = {
207
207
  appStoreState: [
@@ -221,7 +221,7 @@ module Spaceship
221
221
  .last
222
222
  end
223
223
 
224
- def get_in_review_app_store_version(platform: nil, includes: nil)
224
+ def get_in_review_app_store_version(platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES)
225
225
  platform ||= Spaceship::ConnectAPI::Platform::IOS
226
226
  filter = {
227
227
  appStoreState: Spaceship::ConnectAPI::AppStoreVersion::AppStoreState::IN_REVIEW,
@@ -230,7 +230,7 @@ module Spaceship
230
230
  return get_app_store_versions(filter: filter, includes: includes).first
231
231
  end
232
232
 
233
- def get_pending_release_app_store_version(platform: nil, includes: nil)
233
+ def get_pending_release_app_store_version(platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES)
234
234
  platform ||= Spaceship::ConnectAPI::Platform::IOS
235
235
  filter = {
236
236
  appStoreState: Spaceship::ConnectAPI::AppStoreVersion::AppStoreState::PENDING_DEVELOPER_RELEASE,
@@ -239,7 +239,7 @@ module Spaceship
239
239
  return get_app_store_versions(filter: filter, includes: includes).first
240
240
  end
241
241
 
242
- def get_app_store_versions(filter: {}, includes: nil, limit: nil, sort: nil)
242
+ def get_app_store_versions(filter: {}, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES, limit: nil, sort: nil)
243
243
  resps = Spaceship::ConnectAPI.get_app_store_versions(app_id: id, filter: filter, includes: includes, limit: limit, sort: sort).all_pages
244
244
  return resps.flat_map(&:to_models)
245
245
  end
@@ -0,0 +1,26 @@
1
+ require_relative '../model'
2
+ module Spaceship
3
+ class ConnectAPI
4
+ class AppPricePoint
5
+ include Spaceship::ConnectAPI::Model
6
+
7
+ attr_accessor :customer_price
8
+
9
+ attr_accessor :proceeds
10
+
11
+ attr_accessor :price_tier
12
+ attr_accessor :territory
13
+
14
+ attr_mapping({
15
+ "customerPrice" => "customer_price",
16
+ "proceeds" => "proceeds",
17
+ "priceTier" => "price_tier",
18
+ "territory" => "territory"
19
+ })
20
+
21
+ def self.type
22
+ return "appPricePoints"
23
+ end
24
+ end
25
+ end
26
+ end
@@ -55,9 +55,15 @@ module Spaceship
55
55
  "downloadable" => "downloadable",
56
56
  "createdDate" => "created_date",
57
57
 
58
- "appStoreVersionSubmission" => "app_store_version_submission"
58
+ "appStoreVersionSubmission" => "app_store_version_submission",
59
+ "build" => "build"
59
60
  })
60
61
 
62
+ ESSENTIAL_INCLUDES = [
63
+ "appStoreVersionSubmission",
64
+ "build"
65
+ ].join(",")
66
+
61
67
  def self.type
62
68
  return "appStoreVersions"
63
69
  end