fastlane 2.157.2 → 2.157.3

Sign up to get free protection for your applications and to get access to all the features.
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