fastlane 2.221.0 → 2.222.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +92 -92
  3. data/deliver/lib/deliver/options.rb +2 -2
  4. data/deliver/lib/deliver/runner.rb +2 -2
  5. data/deliver/lib/deliver/submit_for_review.rb +0 -77
  6. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
  7. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +4 -3
  8. data/fastlane/lib/fastlane/actions/download_dsyms.rb +2 -2
  9. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +16 -1
  10. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
  11. data/fastlane/lib/fastlane/actions/set_changelog.rb +3 -3
  12. data/fastlane/lib/fastlane/fast_file.rb +3 -1
  13. data/fastlane/lib/fastlane/version.rb +1 -1
  14. data/fastlane/swift/Deliverfile.swift +1 -1
  15. data/fastlane/swift/DeliverfileProtocol.swift +2 -2
  16. data/fastlane/swift/Fastlane.swift +7 -7
  17. data/fastlane/swift/Gymfile.swift +1 -1
  18. data/fastlane/swift/GymfileProtocol.swift +1 -1
  19. data/fastlane/swift/Matchfile.swift +1 -1
  20. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  21. data/fastlane/swift/Precheckfile.swift +1 -1
  22. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  23. data/fastlane/swift/Scanfile.swift +1 -1
  24. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  25. data/fastlane/swift/Screengrabfile.swift +1 -1
  26. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  27. data/fastlane/swift/Snapshotfile.swift +1 -1
  28. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  29. data/fastlane/swift/formatting/Brewfile.lock.json +17 -17
  30. data/gym/lib/gym/generators/build_command_generator.rb +1 -1
  31. data/spaceship/lib/spaceship/connect_api/models/app.rb +10 -0
  32. data/spaceship/lib/spaceship/connect_api/models/app_availability.rb +23 -0
  33. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -19
  34. data/spaceship/lib/spaceship/connect_api/models/territory_availability.rb +62 -0
  35. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +9 -45
  36. data/spaceship/lib/spaceship/connect_api.rb +2 -1
  37. data/spaceship/lib/spaceship/tunes/app_submission.rb +0 -19
  38. data/spaceship/lib/spaceship/tunes/application.rb +1 -1
  39. data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -0
  40. data/trainer/lib/trainer/test_parser.rb +27 -2
  41. metadata +25 -24
  42. data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +0 -43
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.221.0
20
+ // Generated with fastlane 2.222.0
@@ -208,4 +208,4 @@ public extension GymfileProtocol {
208
208
 
209
209
  // Please don't remove the lines below
210
210
  // They are used to detect outdated files
211
- // FastlaneRunnerAPIVersion [0.9.128]
211
+ // FastlaneRunnerAPIVersion [0.9.130]
@@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.221.0
20
+ // Generated with fastlane 2.222.0
@@ -228,4 +228,4 @@ public extension MatchfileProtocol {
228
228
 
229
229
  // Please don't remove the lines below
230
230
  // They are used to detect outdated files
231
- // FastlaneRunnerAPIVersion [0.9.122]
231
+ // FastlaneRunnerAPIVersion [0.9.124]
@@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.221.0
20
+ // Generated with fastlane 2.222.0
@@ -52,4 +52,4 @@ public extension PrecheckfileProtocol {
52
52
 
53
53
  // Please don't remove the lines below
54
54
  // They are used to detect outdated files
55
- // FastlaneRunnerAPIVersion [0.9.121]
55
+ // FastlaneRunnerAPIVersion [0.9.123]
@@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.221.0
20
+ // Generated with fastlane 2.222.0
@@ -320,4 +320,4 @@ public extension ScanfileProtocol {
320
320
 
321
321
  // Please don't remove the lines below
322
322
  // They are used to detect outdated files
323
- // FastlaneRunnerAPIVersion [0.9.133]
323
+ // FastlaneRunnerAPIVersion [0.9.135]
@@ -17,4 +17,4 @@ public class Screengrabfile: ScreengrabfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.221.0
20
+ // Generated with fastlane 2.222.0
@@ -96,4 +96,4 @@ public extension ScreengrabfileProtocol {
96
96
 
97
97
  // Please don't remove the lines below
98
98
  // They are used to detect outdated files
99
- // FastlaneRunnerAPIVersion [0.9.123]
99
+ // FastlaneRunnerAPIVersion [0.9.125]
@@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.221.0
20
+ // Generated with fastlane 2.222.0
@@ -204,4 +204,4 @@ public extension SnapshotfileProtocol {
204
204
 
205
205
  // Please don't remove the lines below
206
206
  // They are used to detect outdated files
207
- // FastlaneRunnerAPIVersion [0.9.117]
207
+ // FastlaneRunnerAPIVersion [0.9.119]
@@ -2,45 +2,45 @@
2
2
  "entries": {
3
3
  "brew": {
4
4
  "swiftformat": {
5
- "version": "0.53.10",
5
+ "version": "0.54.2",
6
6
  "bottle": {
7
7
  "rebuild": 0,
8
8
  "root_url": "https://ghcr.io/v2/homebrew/core",
9
9
  "files": {
10
10
  "arm64_sonoma": {
11
11
  "cellar": ":any_skip_relocation",
12
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:07a24ab550f0a4b26168b77c14b3b184e97552eb9071723af1103b1ff8d38bfd",
13
- "sha256": "07a24ab550f0a4b26168b77c14b3b184e97552eb9071723af1103b1ff8d38bfd"
12
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:81df298cd70628b2149823fa370aa3a6799fa3d794e1541f76f3f4a2d7bedac1",
13
+ "sha256": "81df298cd70628b2149823fa370aa3a6799fa3d794e1541f76f3f4a2d7bedac1"
14
14
  },
15
15
  "arm64_ventura": {
16
16
  "cellar": ":any_skip_relocation",
17
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:2781c7eb35cfe585ae8a5f41395694e67af26c5725d25d08530a4f6adb191842",
18
- "sha256": "2781c7eb35cfe585ae8a5f41395694e67af26c5725d25d08530a4f6adb191842"
17
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:c69312fea87da1123deb27e6943e90affe661475571c6ca5967321688b46df8b",
18
+ "sha256": "c69312fea87da1123deb27e6943e90affe661475571c6ca5967321688b46df8b"
19
19
  },
20
20
  "arm64_monterey": {
21
21
  "cellar": ":any_skip_relocation",
22
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:be39b5733c7a181931682200f3fbece32146b84b7098fec1d9f4d22d248a91e9",
23
- "sha256": "be39b5733c7a181931682200f3fbece32146b84b7098fec1d9f4d22d248a91e9"
22
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:da2a5c24a8132589cee415f4a0754ccc8b39e67e74e06469a3cb6b45d880877a",
23
+ "sha256": "da2a5c24a8132589cee415f4a0754ccc8b39e67e74e06469a3cb6b45d880877a"
24
24
  },
25
25
  "sonoma": {
26
26
  "cellar": ":any_skip_relocation",
27
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:a080392954a019c55552ca7c6ab56033e8ab6aa1a598a0015b80ee12c62a4414",
28
- "sha256": "a080392954a019c55552ca7c6ab56033e8ab6aa1a598a0015b80ee12c62a4414"
27
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:5d5e97425579868571f6322c7472793ef0e652b0ccb64248a466f5f6a85d8b0c",
28
+ "sha256": "5d5e97425579868571f6322c7472793ef0e652b0ccb64248a466f5f6a85d8b0c"
29
29
  },
30
30
  "ventura": {
31
31
  "cellar": ":any_skip_relocation",
32
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:7a5cc00008a574bcc3f94c8048fe058a4211a1f2952b65051a723212c07d8ce5",
33
- "sha256": "7a5cc00008a574bcc3f94c8048fe058a4211a1f2952b65051a723212c07d8ce5"
32
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:402e0e5e117296bee234ef2d657a49ef3397dd898db244a43abe6b02b83b6c48",
33
+ "sha256": "402e0e5e117296bee234ef2d657a49ef3397dd898db244a43abe6b02b83b6c48"
34
34
  },
35
35
  "monterey": {
36
36
  "cellar": ":any_skip_relocation",
37
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:60b9451e66902de3233febbf20cfa3df39304fb329eb478a8cab277874da7869",
38
- "sha256": "60b9451e66902de3233febbf20cfa3df39304fb329eb478a8cab277874da7869"
37
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:67abaff7e1f041b060e35e8ad1573737c93866c18a9bb4e84c9fd1d85e2064f2",
38
+ "sha256": "67abaff7e1f041b060e35e8ad1573737c93866c18a9bb4e84c9fd1d85e2064f2"
39
39
  },
40
40
  "x86_64_linux": {
41
41
  "cellar": "/home/linuxbrew/.linuxbrew/Cellar",
42
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:d4bacdce7d4de2ca8e026577a94e87828038d25c28235a96f740fee46c317798",
43
- "sha256": "d4bacdce7d4de2ca8e026577a94e87828038d25c28235a96f740fee46c317798"
42
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:5c6a46f3995ad0b606c0c8a823b9236998ac512ba8895e8b1c3b35730fc2067d",
43
+ "sha256": "5c6a46f3995ad0b606c0c8a823b9236998ac512ba8895e8b1c3b35730fc2067d"
44
44
  }
45
45
  }
46
46
  }
@@ -82,11 +82,11 @@
82
82
  "macOS": "13.6"
83
83
  },
84
84
  "sonoma": {
85
- "HOMEBREW_VERSION": "4.3.2",
85
+ "HOMEBREW_VERSION": "4.3.10",
86
86
  "HOMEBREW_PREFIX": "/opt/homebrew",
87
87
  "Homebrew/homebrew-core": "api",
88
88
  "CLT": "15.3.0.0.1.1708646388",
89
- "Xcode": "15.0.1",
89
+ "Xcode": "15.4",
90
90
  "macOS": "14.5"
91
91
  }
92
92
  }
@@ -184,7 +184,7 @@ module Gym
184
184
  def result_bundle_path
185
185
  unless Gym.cache[:result_bundle_path]
186
186
  path = Gym.config[:result_bundle_path]
187
- path ||= File.join(Gym.config[:output_directory], Gym.config[:output_name] + ".result")
187
+ path ||= File.join(Gym.config[:output_directory], Gym.config[:output_name] + ".xcresult")
188
188
  if File.directory?(path)
189
189
  FileUtils.remove_dir(path)
190
190
  end
@@ -148,6 +148,16 @@ module Spaceship
148
148
  return resp.to_models.first
149
149
  end
150
150
 
151
+ #
152
+ # App Availabilities
153
+ #
154
+
155
+ def get_app_availabilities(client: nil, filter: {}, includes: "territoryAvailabilities", limit: { "territoryAvailabilities": 200 })
156
+ client ||= Spaceship::ConnectAPI
157
+ resp = client.get_app_availabilities(app_id: id, filter: filter, includes: includes, limit: limit, sort: nil)
158
+ return resp.to_models.first
159
+ end
160
+
151
161
  #
152
162
  # Available Territories
153
163
  #
@@ -0,0 +1,23 @@
1
+ require_relative '../model'
2
+ module Spaceship
3
+ class ConnectAPI
4
+ class AppAvailability
5
+ include Spaceship::ConnectAPI::Model
6
+
7
+ attr_accessor :app
8
+ attr_accessor :available_in_new_territories
9
+
10
+ attr_accessor :territoryAvailabilities
11
+
12
+ attr_mapping({
13
+ app: 'app',
14
+ availableInNewTerritories: 'available_in_new_territories',
15
+ territoryAvailabilities: 'territory_availabilities'
16
+ })
17
+
18
+ def self.type
19
+ return 'appAvailabilities'
20
+ end
21
+ end
22
+ end
23
+ end
@@ -16,7 +16,6 @@ module Spaceship
16
16
  attr_accessor :copyright
17
17
  attr_accessor :release_type
18
18
  attr_accessor :earliest_release_date # 2020-06-17T12:00:00-07:00
19
- attr_accessor :uses_idfa
20
19
  attr_accessor :is_watch_only
21
20
  attr_accessor :downloadable
22
21
  attr_accessor :created_date
@@ -90,7 +89,6 @@ module Spaceship
90
89
  "copyright" => "copyright",
91
90
  "releaseType" => "release_type",
92
91
  "earliestReleaseDate" => "earliest_release_date",
93
- "usesIdfa" => "uses_idfa",
94
92
  "isWatchOnly" => "is_watch_only",
95
93
  "downloadable" => "downloadable",
96
94
  "createdDate" => "created_date",
@@ -127,7 +125,7 @@ module Spaceship
127
125
  # API
128
126
  #
129
127
 
130
- # app,routingAppCoverage,resetRatingsRequest,appStoreVersionSubmission,appStoreVersionPhasedRelease,ageRatingDeclaration,appStoreReviewDetail,idfaDeclaration,gameCenterConfiguration
128
+ # app,routingAppCoverage,resetRatingsRequest,appStoreVersionSubmission,appStoreVersionPhasedRelease,ageRatingDeclaration,appStoreReviewDetail,gameCenterConfiguration
131
129
  def self.get(client: nil, app_store_version_id: nil, includes: nil, limit: nil, sort: nil)
132
130
  client ||= Spaceship::ConnectAPI
133
131
  return client.get_app_store_version(
@@ -241,22 +239,6 @@ module Spaceship
241
239
  return resp.to_models.first
242
240
  end
243
241
 
244
- #
245
- # IDFA Declarations
246
- #
247
-
248
- def fetch_idfa_declaration(client: nil)
249
- client ||= Spaceship::ConnectAPI
250
- resp = client.get_idfa_declaration(app_store_version_id: id)
251
- return resp.to_models.first
252
- end
253
-
254
- def create_idfa_declaration(client: nil, attributes: nil)
255
- client ||= Spaceship::ConnectAPI
256
- resp = client.post_idfa_declaration(app_store_version_id: id, attributes: attributes)
257
- return resp.to_models.first
258
- end
259
-
260
242
  #
261
243
  # Reset Ratings Requests
262
244
  #
@@ -0,0 +1,62 @@
1
+ require_relative '../model'
2
+ module Spaceship
3
+ class ConnectAPI
4
+ class TerritoryAvailability
5
+ include Spaceship::ConnectAPI::Model
6
+
7
+ attr_accessor :available
8
+ attr_accessor :content_statuses
9
+ attr_accessor :pre_order_enabled
10
+ attr_accessor :pre_order_publish_date
11
+ attr_accessor :release_date
12
+
13
+ module ContentStatus
14
+ AVAILABLE = "AVAILABLE"
15
+ AVAILABLE_FOR_PREORDER_ON_DATE = "AVAILABLE_FOR_PREORDER_ON_DATE"
16
+ PROCESSING_TO_NOT_AVAILABLE = "PROCESSING_TO_NOT_AVAILABLE"
17
+ PROCESSING_TO_AVAILABLE = "PROCESSING_TO_AVAILABLE"
18
+ PROCESSING_TO_PRE_ORDER = "PROCESSING_TO_PRE_ORDER"
19
+ AVAILABLE_FOR_SALE_UNRELEASED_APP = "AVAILABLE_FOR_SALE_UNRELEASED_APP"
20
+ PREORDER_ON_UNRELEASED_APP = "PREORDER_ON_UNRELEASED_APP"
21
+ AVAILABLE_FOR_PREORDER = "AVAILABLE_FOR_PREORDER"
22
+ MISSING_RATING = "MISSING_RATING"
23
+ CANNOT_SELL_RESTRICTED_RATING = "CANNOT_SELL_RESTRICTED_RATING"
24
+ BRAZIL_REQUIRED_TAX_ID = "BRAZIL_REQUIRED_TAX_ID"
25
+ MISSING_GRN = "MISSING_GRN"
26
+ UNVERIFIED_GRN = "UNVERIFIED_GRN"
27
+ CANNOT_SELL_SEVENTEEN_PLUS_APPS = "CANNOT_SELL_SEVENTEEN_PLUS_APPS"
28
+ CANNOT_SELL_SEXUALLY_EXPLICIT = "CANNOT_SELL_SEXUALLY_EXPLICIT"
29
+ CANNOT_SELL_NON_IOS_GAMES = "CANNOT_SELL_NON_IOS_GAMES"
30
+ CANNOT_SELL_SEVENTEEN_PLUS_GAMES = "CANNOT_SELL_SEVENTEEN_PLUS_GAMES"
31
+ CANNOT_SELL_FREQUENT_INTENSE_GAMBLING = "CANNOT_SELL_FREQUENT_INTENSE_GAMBLING"
32
+ CANNOT_SELL_CASINO = "CANNOT_SELL_CASINO"
33
+ CANNOT_SELL_CASINO_WITHOUT_GRAC = "CANNOT_SELL_CASINO_WITHOUT_GRAC"
34
+ CANNOT_SELL_CASINO_WITHOUT_AGE_VERIFICATION = "CANNOT_SELL_CASINO_WITHOUT_AGE_VERIFICATION"
35
+ CANNOT_SELL_FREQUENT_INTENSE_ALCOHOL_TOBACCO_DRUGS = "CANNOT_SELL_FREQUENT_INTENSE_ALCOHOL_TOBACCO_DRUGS"
36
+ CANNOT_SELL_FREQUENT_INTENSE_VIOLENCE = "CANNOT_SELL_FREQUENT_INTENSE_VIOLENCE"
37
+ CANNOT_SELL_FREQUENT_INTENSE_SEXUAL_CONTENT_NUDITY = "CANNOT_SELL_FREQUENT_INTENSE_SEXUAL_CONTENT_NUDITY"
38
+ CANNOT_SELL_INFREQUENT_MILD_ALCOHOL_TOBACCO_DRUGS = "CANNOT_SELL_INFREQUENT_MILD_ALCOHOL_TOBACCO_DRUGS"
39
+ CANNOT_SELL_INFREQUENT_MILD_SEXUAL_CONTENT_NUDITY = "CANNOT_SELL_INFREQUENT_MILD_SEXUAL_CONTENT_NUDITY"
40
+ CANNOT_SELL_ADULT_ONLY = "CANNOT_SELL_ADULT_ONLY"
41
+ CANNOT_SELL_FREQUENT_INTENSE = "CANNOT_SELL_FREQUENT_INTENSE"
42
+ CANNOT_SELL_FREQUENT_INTENSE_WITHOUT_GRAC = "CANNOT_SELL_FREQUENT_INTENSE_WITHOUT_GRAC"
43
+ CANNOT_SELL_GAMBLING_CONTESTS = "CANNOT_SELL_GAMBLING_CONTESTS"
44
+ CANNOT_SELL_GAMBLING = "CANNOT_SELL_GAMBLING"
45
+ CANNOT_SELL_CONTESTS = "CANNOT_SELL_CONTESTS"
46
+ CANNOT_SELL = "CANNOT_SELL"
47
+ end
48
+
49
+ attr_mapping({
50
+ available: 'available',
51
+ contentStatuses: 'content_statuses',
52
+ preOrderEnabled: 'pre_order_enabled',
53
+ preOrderPublishDate: 'pre_order_publish_date',
54
+ releaseDate: 'release_date'
55
+ })
56
+
57
+ def self.type
58
+ return 'territoryAvailabilities'
59
+ end
60
+ end
61
+ end
62
+ end
@@ -416,6 +416,15 @@ module Spaceship
416
416
  tunes_request_client.patch("#{Version::V1}/appPreviewSets/#{app_preview_set_id}/relationships/appPreviews", body)
417
417
  end
418
418
 
419
+ #
420
+ # appAvailabilities
421
+ #
422
+
423
+ def get_app_availabilities(app_id: nil, filter: nil, includes: nil, limit: nil, sort: nil)
424
+ params = tunes_request_client.build_params(filter: nil, includes: includes, limit: limit, sort: nil)
425
+ tunes_request_client.get("#{Version::V2}/appAvailabilities/#{app_id}", params)
426
+ end
427
+
419
428
  #
420
429
  # availableTerritories
421
430
  #
@@ -1094,51 +1103,6 @@ module Spaceship
1094
1103
  tunes_request_client.delete("#{Version::V1}/customAppOrganizations/#{custom_app_organization_id}", params)
1095
1104
  end
1096
1105
 
1097
- #
1098
- # idfaDeclarations
1099
- #
1100
-
1101
- def get_idfa_declaration(app_store_version_id: nil)
1102
- params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
1103
- tunes_request_client.get("#{Version::V1}/appStoreVersions/#{app_store_version_id}/idfaDeclaration", params)
1104
- end
1105
-
1106
- def post_idfa_declaration(app_store_version_id: nil, attributes: nil)
1107
- body = {
1108
- data: {
1109
- type: "idfaDeclarations",
1110
- attributes: attributes,
1111
- relationships: {
1112
- appStoreVersion: {
1113
- data: {
1114
- type: "appStoreVersions",
1115
- id: app_store_version_id
1116
- }
1117
- }
1118
- }
1119
- }
1120
- }
1121
-
1122
- tunes_request_client.post("#{Version::V1}/idfaDeclarations", body)
1123
- end
1124
-
1125
- def patch_idfa_declaration(idfa_declaration_id: nil, attributes: nil)
1126
- body = {
1127
- data: {
1128
- type: "idfaDeclarations",
1129
- id: idfa_declaration_id,
1130
- attributes: attributes
1131
- }
1132
- }
1133
-
1134
- tunes_request_client.patch("#{Version::V1}/idfaDeclarations/#{idfa_declaration_id}", body)
1135
- end
1136
-
1137
- def delete_idfa_declaration(idfa_declaration_id: nil)
1138
- params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
1139
- tunes_request_client.delete("#{Version::V1}/idfaDeclarations/#{idfa_declaration_id}", params)
1140
- end
1141
-
1142
1106
  #
1143
1107
  # reviewSubmissions
1144
1108
  #
@@ -38,6 +38,8 @@ require 'spaceship/connect_api/models/custom_app_organization'
38
38
  require 'spaceship/connect_api/models/custom_app_user'
39
39
  require 'spaceship/connect_api/models/pre_release_version'
40
40
 
41
+ require 'spaceship/connect_api/models/app_availability'
42
+ require 'spaceship/connect_api/models/territory_availability'
41
43
  require 'spaceship/connect_api/models/app_data_usage'
42
44
  require 'spaceship/connect_api/models/app_data_usage_category'
43
45
  require 'spaceship/connect_api/models/app_data_usage_data_protection'
@@ -62,7 +64,6 @@ require 'spaceship/connect_api/models/app_screenshot'
62
64
  require 'spaceship/connect_api/models/app_store_version_localization'
63
65
  require 'spaceship/connect_api/models/app_store_version_phased_release'
64
66
  require 'spaceship/connect_api/models/app_store_version'
65
- require 'spaceship/connect_api/models/idfa_declaration'
66
67
  require 'spaceship/connect_api/models/review_submission'
67
68
  require 'spaceship/connect_api/models/review_submission_item'
68
69
  require 'spaceship/connect_api/models/reset_ratings_request'
@@ -22,11 +22,6 @@ module Spaceship
22
22
 
23
23
  # To pass from the user
24
24
 
25
- # @deprecated Set automatically by <tt>add_id_info_uses_idfa</tt> usage
26
- # @return (Boolean) Ad ID Info - Limits ads tracking
27
- # <b>DEPRECATED:</b> Use <tt>add_id_info_uses_idfa</tt> instead.
28
- attr_accessor :add_id_info_limits_tracking
29
-
30
25
  # @return (Boolean) Ad ID Info - Serves ads
31
26
  attr_accessor :add_id_info_serves_ads
32
27
 
@@ -36,9 +31,6 @@ module Spaceship
36
31
  # @return (Boolean) Ad ID Info - Tracks installs
37
32
  attr_accessor :add_id_info_tracks_install
38
33
 
39
- # @return (Boolean) Ad ID Info - Uses idfa
40
- attr_accessor :add_id_info_uses_idfa
41
-
42
34
  # @return (Boolean) Content Rights - Contains third party content
43
35
  attr_accessor :content_rights_contains_third_party_content
44
36
 
@@ -80,7 +72,6 @@ module Spaceship
80
72
  'adIdInfo.servesAds.value' => :add_id_info_serves_ads,
81
73
  'adIdInfo.tracksAction.value' => :add_id_info_tracks_action,
82
74
  'adIdInfo.tracksInstall.value' => :add_id_info_tracks_install,
83
- 'adIdInfo.usesIdfa.value' => :add_id_info_uses_idfa,
84
75
 
85
76
  # Content Rights Section
86
77
  'contentRights.containsThirdPartyContent.value' => :content_rights_contains_third_party_content,
@@ -139,16 +130,6 @@ module Spaceship
139
130
  raw_data_clone.delete(:version)
140
131
  raw_data_clone.delete(:application)
141
132
 
142
- # Check whether the application makes use of IDFA or not
143
- # and automatically set the mandatory limitsTracking value in the request JSON accordingly.
144
- if !self.add_id_info_uses_idfa.nil? && self.add_id_info_uses_idfa == true
145
- # Application uses IDFA, before sending for submission limitsTracking key in the request JSON must be set to true (agreement).
146
- raw_data_clone.set(
147
- ["adIdInfo", "limitsTracking", "value"],
148
- true
149
- )
150
- end
151
-
152
133
  client.send_app_submission(application.apple_id, application.edit_version(platform: platform).version_id, raw_data_clone)
153
134
  @submitted_for_review = true
154
135
  end
@@ -72,7 +72,7 @@ module Spaceship
72
72
  def find(identifier, mac: false)
73
73
  all.find do |app|
74
74
  ((app.apple_id && app.apple_id.casecmp(identifier.to_s) == 0) || (app.bundle_id && app.bundle_id.casecmp(identifier.to_s) == 0)) &&
75
- app.version_sets.any? { |v| (mac ? ["osx"] : ["ios", "appletvos"]).include?(v.platform) }
75
+ app.version_sets.any? { |v| (mac ? ["osx"] : ["ios", "xros", "appletvos"]).include?(v.platform) }
76
76
  end
77
77
  end
78
78
 
@@ -297,6 +297,8 @@ module Spaceship
297
297
  "appletvos"
298
298
  when "MAC_OS"
299
299
  "osx"
300
+ when "VISION_OS"
301
+ "xros"
300
302
  when "IOS"
301
303
  "ios"
302
304
  else
@@ -197,12 +197,37 @@ module Trainer
197
197
  return output
198
198
  end
199
199
 
200
+ # Hotfix: From Xcode 16 beta 3 'xcresulttool get --format json' has been deprecated;
201
+ # '--legacy' flag required to keep on using the command
202
+ def generate_cmd_parse_xcresult(path)
203
+ xcresulttool_cmd = %W(
204
+ xcrun
205
+ xcresulttool
206
+ get
207
+ --format
208
+ json
209
+ --path
210
+ #{path}
211
+ )
212
+
213
+ # e.g. DEVELOPER_DIR=/Applications/Xcode_16_beta_3.app
214
+ # xcresulttool version 23021, format version 3.53 (current)
215
+ match = `xcrun xcresulttool version`.match(/xcresulttool version (?<version>[\d.]+)/)
216
+ version = match[:version]
217
+ xcresulttool_cmd << '--legacy' if Gem::Version.new(version) >= Gem::Version.new(23_021)
218
+
219
+ xcresulttool_cmd.join(' ')
220
+ end
221
+
200
222
  def parse_xcresult(path, output_remove_retry_attempts: false)
201
223
  require 'shellwords'
202
224
  path = Shellwords.escape(path)
203
225
 
204
226
  # Executes xcresulttool to get JSON format of the result bundle object
205
- result_bundle_object_raw = execute_cmd("xcrun xcresulttool get --format json --path #{path}")
227
+ # Hotfix: From Xcode 16 beta 3 'xcresulttool get --format json' has been deprecated; '--legacy' flag required to keep on using the command
228
+ xcresulttool_cmd = generate_cmd_parse_xcresult(path)
229
+
230
+ result_bundle_object_raw = execute_cmd(xcresulttool_cmd)
206
231
  result_bundle_object = JSON.parse(result_bundle_object_raw)
207
232
 
208
233
  # Parses JSON into ActionsInvocationRecord to find a list of all ids for ActionTestPlanRunSummaries
@@ -215,7 +240,7 @@ module Trainer
215
240
  # Maps ids into ActionTestPlanRunSummaries by executing xcresulttool to get JSON
216
241
  # containing specific information for each test summary,
217
242
  summaries = ids.map do |id|
218
- raw = execute_cmd("xcrun xcresulttool get --format json --path #{path} --id #{id}")
243
+ raw = execute_cmd("#{xcresulttool_cmd} --id #{id}")
219
244
  json = JSON.parse(raw)
220
245
  Trainer::XCResult::ActionTestPlanRunSummaries.new(json)
221
246
  end
metadata CHANGED
@@ -1,39 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.221.0
4
+ version: 2.222.0
5
5
  platform: ruby
6
6
  authors:
7
- - Danielle Tomlinson
8
- - Fumiya Nakamura
9
- - Satoshi Namai
10
- - Roger Oba
11
- - Jan Piotrowski
7
+ - Olivier Halligon
8
+ - Manu Wallner
9
+ - Max Ott
10
+ - Luka Mirosevic
11
+ - Joshua Liebowitz
12
12
  - Iulian Onofrei
13
+ - Łukasz Grabowski
14
+ - Manish Rathi
15
+ - Jimmy Dee
16
+ - Jan Piotrowski
13
17
  - Aaron Brager
14
18
  - Matthew Ellis
15
- - Josh Holtz
16
19
  - Jérôme Lacoste
17
- - Manish Rathi
18
- - Olivier Halligon
19
- - Joshua Liebowitz
20
- - Luka Mirosevic
20
+ - Satoshi Namai
21
+ - Jorge Revuelta H
22
+ - Andrew McBurney
23
+ - Maksym Grebenets
24
+ - Fumiya Nakamura
25
+ - Danielle Tomlinson
21
26
  - Felix Krause
22
27
  - Kohki Miki
23
- - Daniel Jankowski
24
- - Łukasz Grabowski
25
- - Maksym Grebenets
26
28
  - Stefan Natchev
29
+ - Josh Holtz
27
30
  - Helmut Januschka
28
- - Jorge Revuelta H
29
- - Jimmy Dee
30
- - Andrew McBurney
31
- - Max Ott
32
- - Manu Wallner
33
- autorequire:
31
+ - Roger Oba
32
+ - Daniel Jankowski
33
+ autorequire:
34
34
  bindir: bin
35
35
  cert_chain: []
36
- date: 2024-06-18 00:00:00.000000000 Z
36
+ date: 2024-07-26 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: addressable
@@ -1456,6 +1456,7 @@ files:
1456
1456
  - spaceship/lib/spaceship/connect_api/models/actor.rb
1457
1457
  - spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
1458
1458
  - spaceship/lib/spaceship/connect_api/models/app.rb
1459
+ - spaceship/lib/spaceship/connect_api/models/app_availability.rb
1459
1460
  - spaceship/lib/spaceship/connect_api/models/app_category.rb
1460
1461
  - spaceship/lib/spaceship/connect_api/models/app_data_usage.rb
1461
1462
  - spaceship/lib/spaceship/connect_api/models/app_data_usage_category.rb
@@ -1501,7 +1502,6 @@ files:
1501
1502
  - spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb
1502
1503
  - spaceship/lib/spaceship/connect_api/models/custom_app_user.rb
1503
1504
  - spaceship/lib/spaceship/connect_api/models/device.rb
1504
- - spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb
1505
1505
  - spaceship/lib/spaceship/connect_api/models/pre_release_version.rb
1506
1506
  - spaceship/lib/spaceship/connect_api/models/profile.rb
1507
1507
  - spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb
@@ -1512,6 +1512,7 @@ files:
1512
1512
  - spaceship/lib/spaceship/connect_api/models/review_submission_item.rb
1513
1513
  - spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb
1514
1514
  - spaceship/lib/spaceship/connect_api/models/territory.rb
1515
+ - spaceship/lib/spaceship/connect_api/models/territory_availability.rb
1515
1516
  - spaceship/lib/spaceship/connect_api/models/user.rb
1516
1517
  - spaceship/lib/spaceship/connect_api/models/user_invitation.rb
1517
1518
  - spaceship/lib/spaceship/connect_api/provisioning/client.rb
@@ -1660,7 +1661,7 @@ metadata:
1660
1661
  documentation_uri: https://docs.fastlane.tools/
1661
1662
  homepage_uri: https://fastlane.tools
1662
1663
  source_code_uri: https://github.com/fastlane/fastlane
1663
- post_install_message:
1664
+ post_install_message:
1664
1665
  rdoc_options: []
1665
1666
  require_paths:
1666
1667
  - cert/lib
@@ -1694,7 +1695,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1694
1695
  version: '0'
1695
1696
  requirements: []
1696
1697
  rubygems_version: 3.4.19
1697
- signing_key:
1698
+ signing_key:
1698
1699
  specification_version: 4
1699
1700
  summary: The easiest way to build and release mobile apps.
1700
1701
  test_files: []