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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c2fcb0e5c62891ef4b01994e10d1c7880f0738f5f289d28633e983e657eede5
|
4
|
+
data.tar.gz: 5e56397ff26ad27aee638525ed836aea56749477029a81fd263ac747da7fb760
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38e276729f76d983d1e61807d6502cd8d09b9b357be64b04f2045870db69803923e928566fd2df06e9727d5d69e58063837c70c32a5f9d2c6ef9693d6aa195b0
|
7
|
+
data.tar.gz: 23b475e6e9dede5602fceebd40be36fc3026a74e9b29d90f5942e4a084761bd6820f03d77733f8700a21957384ed52d560d089126a067c74475678eea42426e4
|
data/README.md
CHANGED
@@ -35,11 +35,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
35
35
|
<!-- This table is regenerated and resorted on each release -->
|
36
36
|
<table id='team'>
|
37
37
|
<tr>
|
38
|
-
<td id='
|
39
|
-
<a href='https://github.com/
|
40
|
-
<img src='https://github.com/
|
38
|
+
<td id='manish-rathi'>
|
39
|
+
<a href='https://github.com/crazymanish'>
|
40
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
41
41
|
</a>
|
42
|
-
<h4 align='center'><a href='https://twitter.com/
|
42
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
43
43
|
</td>
|
44
44
|
<td id='iulian-onofrei'>
|
45
45
|
<a href='https://github.com/revolter'>
|
@@ -47,37 +47,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
47
47
|
</a>
|
48
48
|
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
49
49
|
</td>
|
50
|
-
<td id='
|
51
|
-
<a href='https://github.com/
|
52
|
-
<img src='https://github.com/
|
53
|
-
</a>
|
54
|
-
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
55
|
-
</td>
|
56
|
-
<td id='roger-oba'>
|
57
|
-
<a href='https://github.com/rogerluan'>
|
58
|
-
<img src='https://github.com/rogerluan.png' width='140px;'>
|
59
|
-
</a>
|
60
|
-
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
61
|
-
</td>
|
62
|
-
<td id='jan-piotrowski'>
|
63
|
-
<a href='https://github.com/janpio'>
|
64
|
-
<img src='https://github.com/janpio.png' width='140px;'>
|
65
|
-
</a>
|
66
|
-
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
67
|
-
</td>
|
68
|
-
</tr>
|
69
|
-
<tr>
|
70
|
-
<td id='jimmy-dee'>
|
71
|
-
<a href='https://github.com/jdee'>
|
72
|
-
<img src='https://github.com/jdee.png' width='140px;'>
|
50
|
+
<td id='helmut-januschka'>
|
51
|
+
<a href='https://github.com/hjanuschka'>
|
52
|
+
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
73
53
|
</a>
|
74
|
-
<h4 align='center'>
|
54
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
75
55
|
</td>
|
76
|
-
<td id='
|
77
|
-
<a href='https://github.com/
|
78
|
-
<img src='https://github.com/
|
56
|
+
<td id='stefan-natchev'>
|
57
|
+
<a href='https://github.com/snatchev'>
|
58
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
79
59
|
</a>
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
60
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
81
61
|
</td>
|
82
62
|
<td id='manu-wallner'>
|
83
63
|
<a href='https://github.com/milch'>
|
@@ -85,25 +65,45 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
85
65
|
</a>
|
86
66
|
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
87
67
|
</td>
|
68
|
+
</tr>
|
69
|
+
<tr>
|
70
|
+
<td id='maksym-grebenets'>
|
71
|
+
<a href='https://github.com/mgrebenets'>
|
72
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
73
|
+
</a>
|
74
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
75
|
+
</td>
|
88
76
|
<td id='jorge-revuelta-h'>
|
89
77
|
<a href='https://github.com/minuscorp'>
|
90
78
|
<img src='https://github.com/minuscorp.png' width='140px;'>
|
91
79
|
</a>
|
92
80
|
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
93
81
|
</td>
|
94
|
-
<td id='
|
95
|
-
<a href='https://github.com/
|
96
|
-
<img src='https://github.com/
|
82
|
+
<td id='jérôme-lacoste'>
|
83
|
+
<a href='https://github.com/lacostej'>
|
84
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
97
85
|
</a>
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
86
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
87
|
+
</td>
|
88
|
+
<td id='roger-oba'>
|
89
|
+
<a href='https://github.com/rogerluan'>
|
90
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
91
|
+
</a>
|
92
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
93
|
+
</td>
|
94
|
+
<td id='jan-piotrowski'>
|
95
|
+
<a href='https://github.com/janpio'>
|
96
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
97
|
+
</a>
|
98
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
99
99
|
</td>
|
100
100
|
</tr>
|
101
101
|
<tr>
|
102
|
-
<td id='
|
103
|
-
<a href='https://github.com/
|
104
|
-
<img src='https://github.com/
|
102
|
+
<td id='max-ott'>
|
103
|
+
<a href='https://github.com/max-ott'>
|
104
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
105
105
|
</a>
|
106
|
-
<h4 align='center'
|
106
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
107
107
|
</td>
|
108
108
|
<td id='matthew-ellis'>
|
109
109
|
<a href='https://github.com/matthewellis'>
|
@@ -111,69 +111,69 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
111
111
|
</a>
|
112
112
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
113
113
|
</td>
|
114
|
-
<td id='
|
115
|
-
<a href='https://github.com/
|
116
|
-
<img src='https://github.com/
|
114
|
+
<td id='danielle-tomlinson'>
|
115
|
+
<a href='https://github.com/endocrimes'>
|
116
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
117
117
|
</a>
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
118
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
119
119
|
</td>
|
120
|
-
<td id='
|
121
|
-
<a href='https://github.com/
|
122
|
-
<img src='https://github.com/
|
120
|
+
<td id='daniel-jankowski'>
|
121
|
+
<a href='https://github.com/mollyIV'>
|
122
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
123
123
|
</a>
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
124
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
125
125
|
</td>
|
126
|
-
<td id='
|
127
|
-
<a href='https://github.com/
|
128
|
-
<img src='https://github.com/
|
126
|
+
<td id='kohki-miki'>
|
127
|
+
<a href='https://github.com/giginet'>
|
128
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
129
129
|
</a>
|
130
|
-
<h4 align='center'><a href='https://twitter.com/
|
130
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
131
131
|
</td>
|
132
132
|
</tr>
|
133
133
|
<tr>
|
134
|
-
<td id='
|
135
|
-
<a href='https://github.com/
|
136
|
-
<img src='https://github.com/
|
134
|
+
<td id='jimmy-dee'>
|
135
|
+
<a href='https://github.com/jdee'>
|
136
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
137
137
|
</a>
|
138
|
-
<h4 align='center'
|
138
|
+
<h4 align='center'>Jimmy Dee</h4>
|
139
139
|
</td>
|
140
|
-
<td id='
|
141
|
-
<a href='https://github.com/
|
142
|
-
<img src='https://github.com/
|
140
|
+
<td id='satoshi-namai'>
|
141
|
+
<a href='https://github.com/ainame'>
|
142
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
143
143
|
</a>
|
144
|
-
<h4 align='center'><a href='https://twitter.com/
|
144
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
145
145
|
</td>
|
146
|
-
<td id='
|
147
|
-
<a href='https://github.com/
|
148
|
-
<img src='https://github.com/
|
146
|
+
<td id='luka-mirosevic'>
|
147
|
+
<a href='https://github.com/lmirosevic'>
|
148
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
149
149
|
</a>
|
150
|
-
<h4 align='center'><a href='https://twitter.com/
|
150
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
151
151
|
</td>
|
152
|
-
<td id='
|
153
|
-
<a href='https://github.com/
|
154
|
-
<img src='https://github.com/
|
152
|
+
<td id='joshua-liebowitz'>
|
153
|
+
<a href='https://github.com/taquitos'>
|
154
|
+
<img src='https://github.com/taquitos.png' width='140px;'>
|
155
155
|
</a>
|
156
|
-
<h4 align='center'><a href='https://twitter.com/
|
156
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
157
157
|
</td>
|
158
|
-
<td id='
|
159
|
-
<a href='https://github.com/
|
160
|
-
<img src='https://github.com/
|
158
|
+
<td id='josh-holtz'>
|
159
|
+
<a href='https://github.com/joshdholtz'>
|
160
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
161
161
|
</a>
|
162
|
-
<h4 align='center'><a href='https://twitter.com/
|
162
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
163
163
|
</td>
|
164
164
|
</tr>
|
165
165
|
<tr>
|
166
|
-
<td id='
|
167
|
-
<a href='https://github.com/
|
168
|
-
<img src='https://github.com/
|
166
|
+
<td id='fumiya-nakamura'>
|
167
|
+
<a href='https://github.com/nafu'>
|
168
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
169
169
|
</a>
|
170
|
-
<h4 align='center'><a href='https://twitter.com/
|
170
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
171
171
|
</td>
|
172
|
-
<td id='
|
173
|
-
<a href='https://github.com/
|
174
|
-
<img src='https://github.com/
|
172
|
+
<td id='łukasz-grabowski'>
|
173
|
+
<a href='https://github.com/lucgrabowski'>
|
174
|
+
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
175
175
|
</a>
|
176
|
-
<h4 align='center'
|
176
|
+
<h4 align='center'>Łukasz Grabowski</h4>
|
177
177
|
</td>
|
178
178
|
<td id='felix-krause'>
|
179
179
|
<a href='https://github.com/KrauseFx'>
|
@@ -181,25 +181,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
181
181
|
</a>
|
182
182
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
183
183
|
</td>
|
184
|
-
<td id='
|
185
|
-
<a href='https://github.com/
|
186
|
-
<img src='https://github.com/
|
184
|
+
<td id='aaron-brager'>
|
185
|
+
<a href='https://github.com/getaaron'>
|
186
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
187
187
|
</a>
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
188
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
189
189
|
</td>
|
190
|
-
<td id='
|
191
|
-
<a href='https://github.com/
|
192
|
-
<img src='https://github.com/
|
190
|
+
<td id='olivier-halligon'>
|
191
|
+
<a href='https://github.com/AliSoftware'>
|
192
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
193
193
|
</a>
|
194
|
-
<h4 align='center'><a href='https://twitter.com/
|
194
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
195
195
|
</td>
|
196
196
|
</tr>
|
197
197
|
<tr>
|
198
|
-
<td id='
|
199
|
-
<a href='https://github.com/
|
200
|
-
<img src='https://github.com/
|
198
|
+
<td id='andrew-mcburney'>
|
199
|
+
<a href='https://github.com/armcburney'>
|
200
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
201
201
|
</a>
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
202
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
203
203
|
</td>
|
204
204
|
</table>
|
205
205
|
|
@@ -99,7 +99,7 @@ module Deliver
|
|
99
99
|
optional: true,
|
100
100
|
default_value: "ios",
|
101
101
|
verify_block: proc do |value|
|
102
|
-
UI.user_error!("The platform can only be ios, appletvos, or osx") unless %('ios', 'appletvos', 'osx').include?(value)
|
102
|
+
UI.user_error!("The platform can only be ios, appletvos, xros or osx") unless %('ios', 'appletvos', 'xros', 'osx').include?(value)
|
103
103
|
end),
|
104
104
|
|
105
105
|
# live version
|
@@ -249,7 +249,7 @@ module Deliver
|
|
249
249
|
end),
|
250
250
|
FastlaneCore::ConfigItem.new(key: :submission_information,
|
251
251
|
short_option: "-b",
|
252
|
-
description: "Extra information for the submission (e.g. compliance specifications
|
252
|
+
description: "Extra information for the submission (e.g. compliance specifications)",
|
253
253
|
type: Hash,
|
254
254
|
optional: true),
|
255
255
|
|
@@ -172,7 +172,7 @@ module Deliver
|
|
172
172
|
transporter = transporter_for_selected_team
|
173
173
|
|
174
174
|
case platform
|
175
|
-
when "ios", "appletvos"
|
175
|
+
when "ios", "appletvos", "xros"
|
176
176
|
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
177
177
|
app_id: Deliver.cache[:app].id,
|
178
178
|
ipa_path: ipa_path,
|
@@ -209,7 +209,7 @@ module Deliver
|
|
209
209
|
transporter = transporter_for_selected_team
|
210
210
|
|
211
211
|
case platform
|
212
|
-
when "ios", "appletvos"
|
212
|
+
when "ios", "appletvos", "xros"
|
213
213
|
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
214
214
|
app_id: Deliver.cache[:app].id,
|
215
215
|
ipa_path: ipa_path,
|
@@ -20,7 +20,6 @@ module Deliver
|
|
20
20
|
build = select_build(options, app, version, platform)
|
21
21
|
|
22
22
|
update_export_compliance(options, app, build)
|
23
|
-
update_idfa(options, app, version)
|
24
23
|
update_submission_information(options, app)
|
25
24
|
|
26
25
|
create_review_submission(options, app, version, platform)
|
@@ -120,82 +119,6 @@ module Deliver
|
|
120
119
|
end
|
121
120
|
end
|
122
121
|
|
123
|
-
def update_idfa(options, app, version)
|
124
|
-
submission_information = options[:submission_information] || {}
|
125
|
-
submission_information = submission_information.transform_keys(&:to_sym)
|
126
|
-
|
127
|
-
uses_idfa = submission_information[:add_id_info_uses_idfa]
|
128
|
-
|
129
|
-
idfa_declaration = begin
|
130
|
-
version.fetch_idfa_declaration
|
131
|
-
rescue
|
132
|
-
nil
|
133
|
-
end
|
134
|
-
|
135
|
-
updated_idfa = false
|
136
|
-
|
137
|
-
# Set IDFA on version
|
138
|
-
unless uses_idfa.nil?
|
139
|
-
UI.verbose("Updating app store version for IDFA status of '#{uses_idfa}'")
|
140
|
-
version = version.update(attributes: {
|
141
|
-
usesIdfa: uses_idfa
|
142
|
-
})
|
143
|
-
UI.verbose("Updated app store version for IDFA status of '#{version.uses_idfa}'")
|
144
|
-
updated_idfa = true
|
145
|
-
end
|
146
|
-
|
147
|
-
# Error if uses_idfa not set
|
148
|
-
if version.uses_idfa.nil?
|
149
|
-
message = [
|
150
|
-
"Use of Advertising Identifier (IDFA) is required to submit",
|
151
|
-
"Add information to the :submission_information option...",
|
152
|
-
" Docs: http://docs.fastlane.tools/actions/deliver/#compliance-and-idfa-settings",
|
153
|
-
" Example: submission_information: { add_id_info_uses_idfa: false }",
|
154
|
-
" Example: submission_information: {",
|
155
|
-
" add_id_info_uses_idfa: true,",
|
156
|
-
" add_id_info_serves_ads: false,",
|
157
|
-
" add_id_info_tracks_install: true,",
|
158
|
-
" add_id_info_tracks_action: true,",
|
159
|
-
" add_id_info_limits_tracking: true",
|
160
|
-
" }",
|
161
|
-
" Example CLI:",
|
162
|
-
" --submission_information \"{\\\"add_id_info_uses_idfa\\\": false}\""
|
163
|
-
].join("\n")
|
164
|
-
UI.user_error!(message)
|
165
|
-
end
|
166
|
-
|
167
|
-
# Create, update, or delete IDFA declaration
|
168
|
-
if uses_idfa == false
|
169
|
-
if idfa_declaration
|
170
|
-
UI.verbose("Deleting IDFA declaration")
|
171
|
-
idfa_declaration.delete!
|
172
|
-
updated_idfa = true
|
173
|
-
UI.verbose("Deleted IDFA declaration")
|
174
|
-
end
|
175
|
-
elsif uses_idfa == true
|
176
|
-
attributes = {
|
177
|
-
honorsLimitedAdTracking: !!submission_information[:add_id_info_limits_tracking],
|
178
|
-
servesAds: !!submission_information[:add_id_info_serves_ads],
|
179
|
-
attributesAppInstallationToPreviousAd: !!submission_information[:add_id_info_tracks_install],
|
180
|
-
attributesActionWithPreviousAd: !!submission_information[:add_id_info_tracks_action]
|
181
|
-
}
|
182
|
-
|
183
|
-
if idfa_declaration
|
184
|
-
UI.verbose("Updating IDFA declaration")
|
185
|
-
idfa_declaration.update(attributes: attributes)
|
186
|
-
UI.verbose("Updated IDFA declaration")
|
187
|
-
else
|
188
|
-
UI.verbose("Creating IDFA declaration")
|
189
|
-
version.create_idfa_declaration(attributes: attributes)
|
190
|
-
UI.verbose("Created IDFA declaration")
|
191
|
-
end
|
192
|
-
|
193
|
-
updated_idfa = true
|
194
|
-
end
|
195
|
-
|
196
|
-
UI.success("Successfully updated IDFA declarations on App Store Connect") if updated_idfa
|
197
|
-
end
|
198
|
-
|
199
122
|
def update_submission_information(options, app)
|
200
123
|
submission_information = options[:submission_information] || {}
|
201
124
|
submission_information = submission_information.transform_keys(&:to_sym)
|
@@ -186,7 +186,7 @@ module Fastlane
|
|
186
186
|
optional: true,
|
187
187
|
default_value: "ios",
|
188
188
|
verify_block: proc do |value|
|
189
|
-
UI.user_error!("The platform can only be ios, appletvos, or osx") unless %('ios', 'appletvos', 'osx').include?(value)
|
189
|
+
UI.user_error!("The platform can only be ios, appletvos, xros or osx") unless %('ios', 'appletvos', 'xros', 'osx').include?(value)
|
190
190
|
end),
|
191
191
|
FastlaneCore::ConfigItem.new(key: :team_name,
|
192
192
|
short_option: "-e",
|
@@ -374,6 +374,7 @@ The available options:
|
|
374
374
|
|
375
375
|
- 'ios'
|
376
376
|
- 'appletvos'
|
377
|
+
- 'xros'
|
377
378
|
- 'osx'
|
378
379
|
|
379
380
|
|
@@ -431,12 +432,12 @@ end
|
|
431
432
|
|
432
433
|
Omit `build_number` to let _fastlane_ automatically select the latest build number for the current version being edited for release from App Store Connect.
|
433
434
|
|
434
|
-
### Compliance
|
435
|
+
### Compliance settings
|
435
436
|
|
436
|
-
Use the `submission_information` parameter for additional submission specifiers, including compliance
|
437
|
+
Use the `submission_information` parameter for additional submission specifiers, including compliance settings. Look at the Spaceship's [`app_submission.rb`](https://github.com/fastlane/fastlane/blob/master/spaceship/lib/spaceship/tunes/app_submission.rb) file for options. See [this example](https://github.com/artsy/eigen/blob/faa02e2746194d8d7c11899474de9c517435eca4/fastlane/Fastfile#L131-L149).
|
437
438
|
|
438
439
|
```no-highlight
|
439
|
-
fastlane deliver submit_build --build_number 830 --submission_information "{\"export_compliance_uses_encryption\": false
|
440
|
+
fastlane deliver submit_build --build_number 830 --submission_information "{\"export_compliance_uses_encryption\": false }"
|
440
441
|
```
|
441
442
|
|
442
443
|
### App Privacy Details
|
@@ -290,7 +290,7 @@ module Fastlane
|
|
290
290
|
FastlaneCore::ConfigItem.new(key: :platform,
|
291
291
|
short_option: "-p",
|
292
292
|
env_name: "DOWNLOAD_DSYMS_PLATFORM",
|
293
|
-
description: "The app platform for dSYMs you wish to download (ios, appletvos)",
|
293
|
+
description: "The app platform for dSYMs you wish to download (ios, xros, appletvos)",
|
294
294
|
default_value: :ios),
|
295
295
|
FastlaneCore::ConfigItem.new(key: :version,
|
296
296
|
short_option: "-v",
|
@@ -351,7 +351,7 @@ module Fastlane
|
|
351
351
|
end
|
352
352
|
|
353
353
|
def self.is_supported?(platform)
|
354
|
-
[:ios, :appletvos].include?(platform)
|
354
|
+
[:ios, :appletvos, :xros].include?(platform)
|
355
355
|
end
|
356
356
|
|
357
357
|
def self.example_code
|
@@ -23,7 +23,9 @@ module Fastlane
|
|
23
23
|
# Manual post processing trying to ignore certain file paths
|
24
24
|
if (ignore_files = params[:ignore_files])
|
25
25
|
repo_status = repo_status.lines.reject do |line|
|
26
|
-
path = line
|
26
|
+
path = path_from_git_status_line(line)
|
27
|
+
next if path.empty?
|
28
|
+
|
27
29
|
was_found = ignore_files.include?(path)
|
28
30
|
|
29
31
|
UI.message("Ignoring '#{path}'") if was_found
|
@@ -54,6 +56,19 @@ module Fastlane
|
|
54
56
|
end
|
55
57
|
end
|
56
58
|
|
59
|
+
def self.path_from_git_status_line(line)
|
60
|
+
# Extract the file path from the line based on https://git-scm.com/docs/git-status#_output.
|
61
|
+
# The first two characters indicate the status of the file path (e.g. ' M')
|
62
|
+
# M App/script.sh
|
63
|
+
#
|
64
|
+
# If the file path is renamed, the original path is also included in the line (e.g. 'R ORIG_PATH -> PATH')
|
65
|
+
# R App/script.sh -> App/script_renamed.sh
|
66
|
+
#
|
67
|
+
path = line.match(/^.. (.* -> )?(.*)$/)[2]
|
68
|
+
path = path.delete_prefix('"').delete_suffix('"')
|
69
|
+
return path
|
70
|
+
end
|
71
|
+
|
57
72
|
def self.description
|
58
73
|
"Raises an exception if there are uncommitted git changes"
|
59
74
|
end
|
@@ -83,7 +83,7 @@ module Fastlane
|
|
83
83
|
optional: true,
|
84
84
|
default_value: "ios",
|
85
85
|
verify_block: proc do |value|
|
86
|
-
UI.user_error!("The platform can only be ios, osx, or appletvos") unless %('osx', ios', 'appletvos').include?(value)
|
86
|
+
UI.user_error!("The platform can only be ios, osx, xros or appletvos") unless %('osx', ios', 'appletvos', 'xros').include?(value)
|
87
87
|
end),
|
88
88
|
FastlaneCore::ConfigItem.new(key: :initial_build_number,
|
89
89
|
env_name: "INITIAL_BUILD_NUMBER",
|
@@ -169,10 +169,10 @@ module Fastlane
|
|
169
169
|
end),
|
170
170
|
FastlaneCore::ConfigItem.new(key: :platform,
|
171
171
|
env_name: "FL_SET_CHANGELOG_PLATFORM",
|
172
|
-
description: "The platform of the app (ios, appletvos, mac)",
|
172
|
+
description: "The platform of the app (ios, appletvos, xros, mac)",
|
173
173
|
default_value: "ios",
|
174
174
|
verify_block: proc do |value|
|
175
|
-
available = ['ios', 'appletvos', 'mac']
|
175
|
+
available = ['ios', 'appletvos', 'xros', 'mac']
|
176
176
|
UI.user_error!("Invalid platform '#{value}', must be #{available.join(', ')}") unless available.include?(value)
|
177
177
|
end)
|
178
178
|
]
|
@@ -183,7 +183,7 @@ module Fastlane
|
|
183
183
|
end
|
184
184
|
|
185
185
|
def self.is_supported?(platform)
|
186
|
-
[:ios, :appletvos, :mac].include?(platform)
|
186
|
+
[:ios, :appletvos, :xros, :mac].include?(platform)
|
187
187
|
end
|
188
188
|
|
189
189
|
def self.example_code
|
@@ -218,7 +218,9 @@ module Fastlane
|
|
218
218
|
end
|
219
219
|
|
220
220
|
def self.sh(*command, step_name: nil, log: true, error_callback: nil, &b)
|
221
|
-
command_header =
|
221
|
+
command_header = step_name
|
222
|
+
command_header ||= log ? Actions.shell_command_from_args(*command) : "shell command"
|
223
|
+
|
222
224
|
Actions.execute_action(command_header) do
|
223
225
|
Actions.sh_no_action(*command, log: log, error_callback: error_callback, &b)
|
224
226
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fastlane
|
2
|
-
VERSION = '2.
|
2
|
+
VERSION = '2.222.0'.freeze
|
3
3
|
SUMMARY = "The easiest way to build and release mobile apps.".freeze
|
4
4
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
5
5
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
@@ -95,7 +95,7 @@ public protocol DeliverfileProtocol: AnyObject {
|
|
95
95
|
/// Path to the app rating's config
|
96
96
|
var appRatingConfigPath: String? { get }
|
97
97
|
|
98
|
-
/// Extra information for the submission (e.g. compliance specifications
|
98
|
+
/// Extra information for the submission (e.g. compliance specifications)
|
99
99
|
var submissionInformation: [String: Any]? { get }
|
100
100
|
|
101
101
|
/// The ID of your App Store Connect team if you're in multiple teams
|
@@ -272,4 +272,4 @@ public extension DeliverfileProtocol {
|
|
272
272
|
|
273
273
|
// Please don't remove the lines below
|
274
274
|
// They are used to detect outdated files
|
275
|
-
// FastlaneRunnerAPIVersion [0.9.
|
275
|
+
// FastlaneRunnerAPIVersion [0.9.127]
|
@@ -674,7 +674,7 @@ public func appledoc(input: [String],
|
|
674
674
|
- resetRatings: Reset the summary rating when you release a new version of the application
|
675
675
|
- priceTier: The price tier of this application
|
676
676
|
- appRatingConfigPath: Path to the app rating's config
|
677
|
-
- submissionInformation: Extra information for the submission (e.g. compliance specifications
|
677
|
+
- submissionInformation: Extra information for the submission (e.g. compliance specifications)
|
678
678
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
679
679
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
680
680
|
- devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
|
@@ -3714,7 +3714,7 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
|
|
3714
3714
|
- resetRatings: Reset the summary rating when you release a new version of the application
|
3715
3715
|
- priceTier: The price tier of this application
|
3716
3716
|
- appRatingConfigPath: Path to the app rating's config
|
3717
|
-
- submissionInformation: Extra information for the submission (e.g. compliance specifications
|
3717
|
+
- submissionInformation: Extra information for the submission (e.g. compliance specifications)
|
3718
3718
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
3719
3719
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
3720
3720
|
- devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
|
@@ -4096,7 +4096,7 @@ public func downloadAppPrivacyDetailsFromAppStore(username: String,
|
|
4096
4096
|
- appIdentifier: The bundle identifier of your app
|
4097
4097
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
4098
4098
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
4099
|
-
- platform: The app platform for dSYMs you wish to download (ios, appletvos)
|
4099
|
+
- platform: The app platform for dSYMs you wish to download (ios, xros, appletvos)
|
4100
4100
|
- version: The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs or 'live' to download only the live version dSYMs
|
4101
4101
|
- buildNumber: The app build_number for dSYMs you wish to download
|
4102
4102
|
- minVersion: The minimum app version for dSYMs you wish to download
|
@@ -9707,7 +9707,7 @@ public func setBuildNumberRepository(useHgRevisionNumber: OptionalConfigValue<Bo
|
|
9707
9707
|
- changelog: Changelog text that should be uploaded to App Store Connect
|
9708
9708
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
9709
9709
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
9710
|
-
- platform: The platform of the app (ios, appletvos, mac)
|
9710
|
+
- platform: The platform of the app (ios, appletvos, xros, mac)
|
9711
9711
|
|
9712
9712
|
This is useful if you have only one changelog for all languages.
|
9713
9713
|
You can store the changelog in `./changelog.txt` and it will automatically get loaded from there. This integration is useful if you support e.g. 10 languages and want to use the same "What's new"-text for all languages.
|
@@ -12540,7 +12540,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
12540
12540
|
- resetRatings: Reset the summary rating when you release a new version of the application
|
12541
12541
|
- priceTier: The price tier of this application
|
12542
12542
|
- appRatingConfigPath: Path to the app rating's config
|
12543
|
-
- submissionInformation: Extra information for the submission (e.g. compliance specifications
|
12543
|
+
- submissionInformation: Extra information for the submission (e.g. compliance specifications)
|
12544
12544
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
12545
12545
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
12546
12546
|
- devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
|
@@ -13598,7 +13598,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
|
13598
13598
|
coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13599
13599
|
coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13600
13600
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13601
|
-
ideFoundationPath: String = "/Applications/Xcode_15.
|
13601
|
+
ideFoundationPath: String = "/Applications/Xcode_15.4.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
13602
13602
|
legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
13603
13603
|
{
|
13604
13604
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
@@ -13801,4 +13801,4 @@ public let snapshotfile: Snapshotfile = .init()
|
|
13801
13801
|
|
13802
13802
|
// Please don't remove the lines below
|
13803
13803
|
// They are used to detect outdated files
|
13804
|
-
// FastlaneRunnerAPIVersion [0.9.
|
13804
|
+
// FastlaneRunnerAPIVersion [0.9.180]
|