fastlane 2.221.0 → 2.222.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +92 -92
- data/deliver/lib/deliver/options.rb +2 -2
- data/deliver/lib/deliver/runner.rb +2 -2
- data/deliver/lib/deliver/submit_for_review.rb +0 -77
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +4 -3
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +2 -2
- data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +16 -1
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_changelog.rb +3 -3
- data/fastlane/lib/fastlane/fast_file.rb +3 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +2 -2
- data/fastlane/swift/Fastlane.swift +7 -7
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +17 -17
- data/gym/lib/gym/generators/build_command_generator.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app.rb +10 -0
- data/spaceship/lib/spaceship/connect_api/models/app_availability.rb +23 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -19
- data/spaceship/lib/spaceship/connect_api/models/territory_availability.rb +62 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +9 -45
- data/spaceship/lib/spaceship/connect_api.rb +2 -1
- data/spaceship/lib/spaceship/tunes/app_submission.rb +0 -19
- data/spaceship/lib/spaceship/tunes/application.rb +1 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -0
- data/trainer/lib/trainer/test_parser.rb +27 -2
- metadata +25 -24
- data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +0 -43
@@ -2,45 +2,45 @@
|
|
2
2
|
"entries": {
|
3
3
|
"brew": {
|
4
4
|
"swiftformat": {
|
5
|
-
"version": "0.
|
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:
|
13
|
-
"sha256": "
|
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:
|
18
|
-
"sha256": "
|
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:
|
23
|
-
"sha256": "
|
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:
|
28
|
-
"sha256": "
|
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:
|
33
|
-
"sha256": "
|
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:
|
38
|
-
"sha256": "
|
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:
|
43
|
-
"sha256": "
|
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.
|
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.
|
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] + ".
|
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,
|
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
|
|
@@ -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
|
-
|
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("
|
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.
|
4
|
+
version: 2.222.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
-
|
9
|
-
-
|
10
|
-
-
|
11
|
-
-
|
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
|
-
-
|
18
|
-
-
|
19
|
-
-
|
20
|
-
-
|
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
|
-
-
|
29
|
-
-
|
30
|
-
|
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-
|
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: []
|