fastlane 2.150.0.rc7 → 2.150.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +76 -76
- data/deliver/lib/deliver/download_screenshots.rb +4 -4
- data/deliver/lib/deliver/upload_metadata.rb +11 -8
- data/deliver/lib/deliver/upload_screenshots.rb +19 -6
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +6 -6
- data/fastlane/swift/Fastlane.swift +22 -19
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SocketClient.swift +2 -1
- data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +0 -1
- data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +5 -6
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +2 -2
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +20 -5
- metadata +26 -26
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8487fa83f02a3dc9dc73920e47fa8c8652d8870c1c591d644ee2138446d41b7d
|
|
4
|
+
data.tar.gz: 158f51047d36d16716f02af2f790c89f4015e50a28a404ec8122a98eacf4f83b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 482164ad088f8bc85cbbb31446a0e766c597d7fc50f5cd9d98888f176d15fcbdeaf16d0a54ca92cf72a73d55bcef6bdcc98a2a8c07b303430b374546d0f77225
|
|
7
|
+
data.tar.gz: 54fa6088bc3373a0d936999022b54050fbd1f82bab8cd6dce45e0403dee4a213d2f5d7f950f5bcaa83599e1dc24668e1d156ab213be15bd2904a1340b45ebea5
|
data/README.md
CHANGED
|
@@ -34,35 +34,35 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
34
34
|
<!-- This table is regenerated and resorted on each release -->
|
|
35
35
|
<table id='team'>
|
|
36
36
|
<tr>
|
|
37
|
-
<td id='iulian-onofrei'>
|
|
38
|
-
<a href='https://github.com/revolter'>
|
|
39
|
-
<img src='https://github.com/revolter.png?size=140'>
|
|
40
|
-
</a>
|
|
41
|
-
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
42
|
-
</td>
|
|
43
|
-
<td id='stefan-natchev'>
|
|
44
|
-
<a href='https://github.com/snatchev'>
|
|
45
|
-
<img src='https://github.com/snatchev.png?size=140'>
|
|
46
|
-
</a>
|
|
47
|
-
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
48
|
-
</td>
|
|
49
37
|
<td id='joshua-liebowitz'>
|
|
50
38
|
<a href='https://github.com/taquitos'>
|
|
51
39
|
<img src='https://github.com/taquitos.png?size=140'>
|
|
52
40
|
</a>
|
|
53
41
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
54
42
|
</td>
|
|
43
|
+
<td id='matthew-ellis'>
|
|
44
|
+
<a href='https://github.com/matthewellis'>
|
|
45
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
|
46
|
+
</a>
|
|
47
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
48
|
+
</td>
|
|
55
49
|
<td id='helmut-januschka'>
|
|
56
50
|
<a href='https://github.com/hjanuschka'>
|
|
57
51
|
<img src='https://github.com/hjanuschka.png?size=140'>
|
|
58
52
|
</a>
|
|
59
53
|
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
60
54
|
</td>
|
|
61
|
-
<td id='
|
|
62
|
-
<a href='https://github.com/
|
|
63
|
-
<img src='https://github.com/
|
|
55
|
+
<td id='josh-holtz'>
|
|
56
|
+
<a href='https://github.com/joshdholtz'>
|
|
57
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
|
64
58
|
</a>
|
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
59
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
60
|
+
</td>
|
|
61
|
+
<td id='max-ott'>
|
|
62
|
+
<a href='https://github.com/max-ott'>
|
|
63
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
|
64
|
+
</a>
|
|
65
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
66
66
|
</td>
|
|
67
67
|
</tr>
|
|
68
68
|
<tr>
|
|
@@ -72,55 +72,23 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
72
72
|
</a>
|
|
73
73
|
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
74
74
|
</td>
|
|
75
|
-
<td id='
|
|
76
|
-
<a href='https://github.com/
|
|
77
|
-
<img src='https://github.com/
|
|
78
|
-
</a>
|
|
79
|
-
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
80
|
-
</td>
|
|
81
|
-
<td id='jan-piotrowski'>
|
|
82
|
-
<a href='https://github.com/janpio'>
|
|
83
|
-
<img src='https://github.com/janpio.png?size=140'>
|
|
84
|
-
</a>
|
|
85
|
-
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
86
|
-
</td>
|
|
87
|
-
<td id='aaron-brager'>
|
|
88
|
-
<a href='https://github.com/getaaron'>
|
|
89
|
-
<img src='https://github.com/getaaron.png?size=140'>
|
|
90
|
-
</a>
|
|
91
|
-
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
92
|
-
</td>
|
|
93
|
-
<td id='olivier-halligon'>
|
|
94
|
-
<a href='https://github.com/AliSoftware'>
|
|
95
|
-
<img src='https://github.com/AliSoftware.png?size=140'>
|
|
75
|
+
<td id='iulian-onofrei'>
|
|
76
|
+
<a href='https://github.com/revolter'>
|
|
77
|
+
<img src='https://github.com/revolter.png?size=140'>
|
|
96
78
|
</a>
|
|
97
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
79
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
98
80
|
</td>
|
|
99
|
-
</tr>
|
|
100
|
-
<tr>
|
|
101
81
|
<td id='jimmy-dee'>
|
|
102
82
|
<a href='https://github.com/jdee'>
|
|
103
83
|
<img src='https://github.com/jdee.png?size=140'>
|
|
104
84
|
</a>
|
|
105
85
|
<h4 align='center'>Jimmy Dee</h4>
|
|
106
86
|
</td>
|
|
107
|
-
<td id='
|
|
108
|
-
<a href='https://github.com/
|
|
109
|
-
<img src='https://github.com/
|
|
110
|
-
</a>
|
|
111
|
-
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
112
|
-
</td>
|
|
113
|
-
<td id='felix-krause'>
|
|
114
|
-
<a href='https://github.com/KrauseFx'>
|
|
115
|
-
<img src='https://github.com/KrauseFx.png?size=140'>
|
|
116
|
-
</a>
|
|
117
|
-
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
118
|
-
</td>
|
|
119
|
-
<td id='matthew-ellis'>
|
|
120
|
-
<a href='https://github.com/matthewellis'>
|
|
121
|
-
<img src='https://github.com/matthewellis.png?size=140'>
|
|
87
|
+
<td id='jérôme-lacoste'>
|
|
88
|
+
<a href='https://github.com/lacostej'>
|
|
89
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
|
122
90
|
</a>
|
|
123
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
91
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
124
92
|
</td>
|
|
125
93
|
<td id='manu-wallner'>
|
|
126
94
|
<a href='https://github.com/milch'>
|
|
@@ -130,50 +98,82 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
130
98
|
</td>
|
|
131
99
|
</tr>
|
|
132
100
|
<tr>
|
|
133
|
-
<td id='
|
|
134
|
-
<a href='https://github.com/
|
|
135
|
-
<img src='https://github.com/
|
|
101
|
+
<td id='felix-krause'>
|
|
102
|
+
<a href='https://github.com/KrauseFx'>
|
|
103
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
|
136
104
|
</a>
|
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
105
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
138
106
|
</td>
|
|
139
|
-
<td id='
|
|
140
|
-
<a href='https://github.com/
|
|
141
|
-
<img src='https://github.com/
|
|
107
|
+
<td id='jan-piotrowski'>
|
|
108
|
+
<a href='https://github.com/janpio'>
|
|
109
|
+
<img src='https://github.com/janpio.png?size=140'>
|
|
142
110
|
</a>
|
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
111
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
144
112
|
</td>
|
|
145
|
-
<td id='
|
|
146
|
-
<a href='https://github.com/
|
|
147
|
-
<img src='https://github.com/
|
|
113
|
+
<td id='stefan-natchev'>
|
|
114
|
+
<a href='https://github.com/snatchev'>
|
|
115
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
|
148
116
|
</a>
|
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
117
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
150
118
|
</td>
|
|
151
|
-
<td id='
|
|
152
|
-
<a href='https://github.com/
|
|
153
|
-
<img src='https://github.com/
|
|
119
|
+
<td id='olivier-halligon'>
|
|
120
|
+
<a href='https://github.com/AliSoftware'>
|
|
121
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
|
154
122
|
</a>
|
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
123
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
156
124
|
</td>
|
|
157
|
-
<td id='
|
|
158
|
-
<a href='https://github.com/
|
|
159
|
-
<img src='https://github.com/
|
|
125
|
+
<td id='danielle-tomlinson'>
|
|
126
|
+
<a href='https://github.com/endocrimes'>
|
|
127
|
+
<img src='https://github.com/endocrimes.png?size=140'>
|
|
160
128
|
</a>
|
|
161
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
129
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
162
130
|
</td>
|
|
163
131
|
</tr>
|
|
164
132
|
<tr>
|
|
133
|
+
<td id='aaron-brager'>
|
|
134
|
+
<a href='https://github.com/getaaron'>
|
|
135
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
|
136
|
+
</a>
|
|
137
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
138
|
+
</td>
|
|
139
|
+
<td id='jorge-revuelta-h'>
|
|
140
|
+
<a href='https://github.com/minuscorp'>
|
|
141
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
|
142
|
+
</a>
|
|
143
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
144
|
+
</td>
|
|
165
145
|
<td id='maksym-grebenets'>
|
|
166
146
|
<a href='https://github.com/mgrebenets'>
|
|
167
147
|
<img src='https://github.com/mgrebenets.png?size=140'>
|
|
168
148
|
</a>
|
|
169
149
|
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
170
150
|
</td>
|
|
151
|
+
<td id='fumiya-nakamura'>
|
|
152
|
+
<a href='https://github.com/nafu'>
|
|
153
|
+
<img src='https://github.com/nafu.png?size=140'>
|
|
154
|
+
</a>
|
|
155
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
156
|
+
</td>
|
|
157
|
+
<td id='andrew-mcburney'>
|
|
158
|
+
<a href='https://github.com/armcburney'>
|
|
159
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
|
160
|
+
</a>
|
|
161
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
162
|
+
</td>
|
|
163
|
+
</tr>
|
|
164
|
+
<tr>
|
|
171
165
|
<td id='kohki-miki'>
|
|
172
166
|
<a href='https://github.com/giginet'>
|
|
173
167
|
<img src='https://github.com/giginet.png?size=140'>
|
|
174
168
|
</a>
|
|
175
169
|
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
176
170
|
</td>
|
|
171
|
+
<td id='daniel-jankowski'>
|
|
172
|
+
<a href='https://github.com/mollyIV'>
|
|
173
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
|
174
|
+
</a>
|
|
175
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
176
|
+
</td>
|
|
177
177
|
</table>
|
|
178
178
|
|
|
179
179
|
Special thanks to all [contributors](https://github.com/fastlane/fastlane/graphs/contributors) for extending and improving _fastlane_.
|
|
@@ -32,13 +32,13 @@ module Deliver
|
|
|
32
32
|
screenshot_sets = localization.get_app_screenshot_sets
|
|
33
33
|
screenshot_sets.each do |screenshot_set|
|
|
34
34
|
screenshot_set.app_screenshots.each_with_index do |screenshot, index|
|
|
35
|
-
url = screenshot.image_asset_url
|
|
36
|
-
next if url.nil?
|
|
37
|
-
|
|
38
35
|
file_name = [index, screenshot_set.screenshot_display_type, index].join("_")
|
|
39
|
-
original_file_extension = File.
|
|
36
|
+
original_file_extension = File.extname(screenshot.file_name).strip.downcase[1..-1]
|
|
40
37
|
file_name += "." + original_file_extension
|
|
41
38
|
|
|
39
|
+
url = screenshot.image_asset_url(type: original_file_extension)
|
|
40
|
+
next if url.nil?
|
|
41
|
+
|
|
42
42
|
language = localization.locale
|
|
43
43
|
|
|
44
44
|
UI.message("Downloading existing screenshot '#{file_name}' for language '#{language}'")
|
|
@@ -80,8 +80,10 @@ module Deliver
|
|
|
80
80
|
|
|
81
81
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
enabled_languages = detect_languages(options)
|
|
84
|
+
|
|
85
|
+
app_store_version_localizations = verify_available_version_languages!(options, app, enabled_languages) unless options[:edit_live]
|
|
86
|
+
app_info_localizations = verify_available_info_languages!(options, app, enabled_languages) unless options[:edit_live]
|
|
85
87
|
|
|
86
88
|
if options[:edit_live]
|
|
87
89
|
# not all values are editable when using live_version
|
|
@@ -405,7 +407,7 @@ module Deliver
|
|
|
405
407
|
end
|
|
406
408
|
|
|
407
409
|
# Finding languages to enable
|
|
408
|
-
def verify_available_info_languages!(options, app)
|
|
410
|
+
def verify_available_info_languages!(options, app, languages)
|
|
409
411
|
app_info = app.fetch_edit_app_info
|
|
410
412
|
|
|
411
413
|
unless app_info
|
|
@@ -415,7 +417,7 @@ module Deliver
|
|
|
415
417
|
|
|
416
418
|
localizations = app_info.get_app_info_localizations
|
|
417
419
|
|
|
418
|
-
languages = (
|
|
420
|
+
languages = (languages || []).reject { |lang| lang == "default" }
|
|
419
421
|
locales_to_enable = languages - localizations.map(&:locale)
|
|
420
422
|
|
|
421
423
|
if locales_to_enable.count > 0
|
|
@@ -439,7 +441,7 @@ module Deliver
|
|
|
439
441
|
end
|
|
440
442
|
|
|
441
443
|
# Finding languages to enable
|
|
442
|
-
def verify_available_version_languages!(options, app)
|
|
444
|
+
def verify_available_version_languages!(options, app, languages)
|
|
443
445
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
444
446
|
version = app.get_edit_app_store_version(platform: platform)
|
|
445
447
|
|
|
@@ -450,7 +452,7 @@ module Deliver
|
|
|
450
452
|
|
|
451
453
|
localizations = version.get_app_store_version_localizations
|
|
452
454
|
|
|
453
|
-
languages = (
|
|
455
|
+
languages = (languages || []).reject { |lang| lang == "default" }
|
|
454
456
|
locales_to_enable = languages - localizations.map(&:locale)
|
|
455
457
|
|
|
456
458
|
if locales_to_enable.count > 0
|
|
@@ -548,7 +550,8 @@ module Deliver
|
|
|
548
550
|
UI.message("Uploading app review information to App Store Connect")
|
|
549
551
|
app_store_review_detail = begin
|
|
550
552
|
version.fetch_app_store_review_detail
|
|
551
|
-
rescue
|
|
553
|
+
rescue => error
|
|
554
|
+
UI.error("Error fetching app store review detail - #{error.message}")
|
|
552
555
|
nil
|
|
553
556
|
end # errors if doesn't exist
|
|
554
557
|
if app_store_review_detail
|
|
@@ -560,7 +563,7 @@ module Deliver
|
|
|
560
563
|
|
|
561
564
|
def set_review_attachment_file(version, options)
|
|
562
565
|
app_store_review_detail = version.fetch_app_store_review_detail
|
|
563
|
-
app_review_attachments = app_store_review_detail.
|
|
566
|
+
app_review_attachments = app_store_review_detail.app_store_review_attachments || []
|
|
564
567
|
|
|
565
568
|
if options[:app_review_attachment_file]
|
|
566
569
|
app_review_attachments.each do |app_review_attachment|
|
|
@@ -65,8 +65,8 @@ module Deliver
|
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
# Crash if any errors happen while deleting
|
|
68
|
-
|
|
69
|
-
UI.
|
|
68
|
+
errors.each do |error|
|
|
69
|
+
UI.error(error.message)
|
|
70
70
|
end
|
|
71
71
|
end
|
|
72
72
|
end
|
|
@@ -92,14 +92,27 @@ module Deliver
|
|
|
92
92
|
localizations = version.get_app_store_version_localizations
|
|
93
93
|
end
|
|
94
94
|
|
|
95
|
-
upload_screenshots(screenshots_per_language, localizations)
|
|
95
|
+
upload_screenshots(screenshots_per_language, localizations, options)
|
|
96
96
|
end
|
|
97
97
|
|
|
98
|
-
def upload_screenshots(screenshots_per_language, localizations)
|
|
98
|
+
def upload_screenshots(screenshots_per_language, localizations, options)
|
|
99
99
|
# Check if should wait for processing
|
|
100
|
-
|
|
100
|
+
# Default to waiting if submitting for review (since needed for submission)
|
|
101
|
+
# Otherwise use enviroment variable
|
|
102
|
+
if ENV["DELIVER_SKIP_WAIT_FOR_SCREENSHOT_PROCESSING"].nil?
|
|
103
|
+
wait_for_processing = options[:submit_for_review]
|
|
104
|
+
UI.verbose("Setting wait_for_processing from ':submit_for_review' option")
|
|
105
|
+
else
|
|
106
|
+
UI.verbose("Setting wait_for_processing from 'DELIVER_SKIP_WAIT_FOR_SCREENSHOT_PROCESSING' environment variable")
|
|
107
|
+
wait_for_processing = !FastlaneCore::Env.truthy?("DELIVER_SKIP_WAIT_FOR_SCREENSHOT_PROCESSING")
|
|
108
|
+
end
|
|
109
|
+
|
|
101
110
|
if wait_for_processing
|
|
102
|
-
UI.important("
|
|
111
|
+
UI.important("Will wait for screenshot image processing")
|
|
112
|
+
UI.important("Set env DELIVER_SKIP_WAIT_FOR_SCREENSHOT_PROCESSING=true to skip waiting for screenshots to process")
|
|
113
|
+
else
|
|
114
|
+
UI.important("Skipping the wait for screenshot image processing (which may affect submission)")
|
|
115
|
+
UI.important("Set env DELIVER_SKIP_WAIT_FOR_SCREENSHOT_PROCESSING=false to skip waiting for screenshots to process")
|
|
103
116
|
end
|
|
104
117
|
|
|
105
118
|
# Upload screenshots
|
|
@@ -76,7 +76,7 @@ protocol DeliverfileProtocol: class {
|
|
|
76
76
|
var appRatingConfigPath: String? { get }
|
|
77
77
|
|
|
78
78
|
/// Extra information for the submission (e.g. compliance specifications, IDFA settings)
|
|
79
|
-
var submissionInformation: String? { get }
|
|
79
|
+
var submissionInformation: [String : Any]? { get }
|
|
80
80
|
|
|
81
81
|
/// The ID of your App Store Connect team if you're in multiple teams
|
|
82
82
|
var teamId: String? { get }
|
|
@@ -99,13 +99,13 @@ protocol DeliverfileProtocol: class {
|
|
|
99
99
|
/// The default precheck rule level unless otherwise configured
|
|
100
100
|
var precheckDefaultRuleLevel: String { get }
|
|
101
101
|
|
|
102
|
-
/// An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
|
|
102
|
+
/// **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
|
|
103
103
|
var individualMetadataItems: [String] { get }
|
|
104
104
|
|
|
105
|
-
/// Metadata: The path to the app icon
|
|
105
|
+
/// **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - Metadata: The path to the app icon
|
|
106
106
|
var appIcon: String? { get }
|
|
107
107
|
|
|
108
|
-
/// Metadata: The path to the Apple Watch app icon
|
|
108
|
+
/// **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - Metadata: The path to the Apple Watch app icon
|
|
109
109
|
var appleWatchAppIcon: String? { get }
|
|
110
110
|
|
|
111
111
|
/// Metadata: The copyright notice
|
|
@@ -207,7 +207,7 @@ extension DeliverfileProtocol {
|
|
|
207
207
|
var resetRatings: Bool { return false }
|
|
208
208
|
var priceTier: String? { return nil }
|
|
209
209
|
var appRatingConfigPath: String? { return nil }
|
|
210
|
-
var submissionInformation: String? { return nil }
|
|
210
|
+
var submissionInformation: [String : Any]? { return nil }
|
|
211
211
|
var teamId: String? { return nil }
|
|
212
212
|
var teamName: String? { return nil }
|
|
213
213
|
var devPortalTeamId: String? { return nil }
|
|
@@ -246,4 +246,4 @@ extension DeliverfileProtocol {
|
|
|
246
246
|
|
|
247
247
|
// Please don't remove the lines below
|
|
248
248
|
// They are used to detect outdated files
|
|
249
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
249
|
+
// FastlaneRunnerAPIVersion [0.9.20]
|
|
@@ -455,9 +455,9 @@ func appledoc(input: Any,
|
|
|
455
455
|
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
|
|
456
456
|
- runPrecheckBeforeSubmit: Run precheck before submitting to app review
|
|
457
457
|
- precheckDefaultRuleLevel: The default precheck rule level unless otherwise configured
|
|
458
|
-
- individualMetadataItems: An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
|
|
459
|
-
- appIcon: Metadata: The path to the app icon
|
|
460
|
-
- appleWatchAppIcon: Metadata: The path to the Apple Watch app icon
|
|
458
|
+
- individualMetadataItems: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
|
|
459
|
+
- appIcon: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - Metadata: The path to the app icon
|
|
460
|
+
- appleWatchAppIcon: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - Metadata: The path to the Apple Watch app icon
|
|
461
461
|
- copyright: Metadata: The copyright notice
|
|
462
462
|
- primaryCategory: Metadata: The english name of the primary category (e.g. `Business`, `Books`)
|
|
463
463
|
- secondaryCategory: Metadata: The english name of the secondary category (e.g. `Business`, `Books`)
|
|
@@ -515,7 +515,7 @@ func appstore(username: String,
|
|
|
515
515
|
resetRatings: Bool = false,
|
|
516
516
|
priceTier: Any? = nil,
|
|
517
517
|
appRatingConfigPath: String? = nil,
|
|
518
|
-
submissionInformation: Any? = nil,
|
|
518
|
+
submissionInformation: [String : Any]? = nil,
|
|
519
519
|
teamId: Any? = nil,
|
|
520
520
|
teamName: String? = nil,
|
|
521
521
|
devPortalTeamId: String? = nil,
|
|
@@ -2248,7 +2248,7 @@ func createAppOnManagedPlayStore(jsonKey: String? = nil,
|
|
|
2248
2248
|
- sku: SKU Number (e.g. '1234')
|
|
2249
2249
|
- platform: The platform to use (optional)
|
|
2250
2250
|
- platforms: The platforms to use (optional)
|
|
2251
|
-
- language: Primary Language (e.g. '
|
|
2251
|
+
- language: Primary Language (e.g. 'en-US', 'fr-FR')
|
|
2252
2252
|
- companyName: The name of your company. Only required if it's the first app you create
|
|
2253
2253
|
- skipItc: Skip the creation of the app on App Store Connect
|
|
2254
2254
|
- itcUsers: Array of App Store Connect users. If provided, you can limit access to this newly created app for users with the App Manager, Developer, Marketer or Sales roles
|
|
@@ -2505,9 +2505,9 @@ func deleteKeychain(name: String? = nil,
|
|
|
2505
2505
|
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
|
|
2506
2506
|
- runPrecheckBeforeSubmit: Run precheck before submitting to app review
|
|
2507
2507
|
- precheckDefaultRuleLevel: The default precheck rule level unless otherwise configured
|
|
2508
|
-
- individualMetadataItems: An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
|
|
2509
|
-
- appIcon: Metadata: The path to the app icon
|
|
2510
|
-
- appleWatchAppIcon: Metadata: The path to the Apple Watch app icon
|
|
2508
|
+
- individualMetadataItems: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
|
|
2509
|
+
- appIcon: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - Metadata: The path to the app icon
|
|
2510
|
+
- appleWatchAppIcon: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - Metadata: The path to the Apple Watch app icon
|
|
2511
2511
|
- copyright: Metadata: The copyright notice
|
|
2512
2512
|
- primaryCategory: Metadata: The english name of the primary category (e.g. `Business`, `Books`)
|
|
2513
2513
|
- secondaryCategory: Metadata: The english name of the secondary category (e.g. `Business`, `Books`)
|
|
@@ -2565,7 +2565,7 @@ func deliver(username: Any = deliverfile.username,
|
|
|
2565
2565
|
resetRatings: Bool = deliverfile.resetRatings,
|
|
2566
2566
|
priceTier: Any? = deliverfile.priceTier,
|
|
2567
2567
|
appRatingConfigPath: Any? = deliverfile.appRatingConfigPath,
|
|
2568
|
-
submissionInformation: Any? = deliverfile.submissionInformation,
|
|
2568
|
+
submissionInformation: [String : Any]? = deliverfile.submissionInformation,
|
|
2569
2569
|
teamId: Any? = deliverfile.teamId,
|
|
2570
2570
|
teamName: Any? = deliverfile.teamName,
|
|
2571
2571
|
devPortalTeamId: Any? = deliverfile.devPortalTeamId,
|
|
@@ -2799,7 +2799,7 @@ func downloadDsyms(username: String,
|
|
|
2799
2799
|
func downloadFromPlayStore(packageName: String,
|
|
2800
2800
|
versionName: String? = nil,
|
|
2801
2801
|
track: String = "production",
|
|
2802
|
-
metadataPath: String
|
|
2802
|
+
metadataPath: String = "./metadata",
|
|
2803
2803
|
key: String? = nil,
|
|
2804
2804
|
issuer: String? = nil,
|
|
2805
2805
|
jsonKey: String? = nil,
|
|
@@ -5343,7 +5343,7 @@ func println(message: String? = nil) {
|
|
|
5343
5343
|
- sku: SKU Number (e.g. '1234')
|
|
5344
5344
|
- platform: The platform to use (optional)
|
|
5345
5345
|
- platforms: The platforms to use (optional)
|
|
5346
|
-
- language: Primary Language (e.g. '
|
|
5346
|
+
- language: Primary Language (e.g. 'en-US', 'fr-FR')
|
|
5347
5347
|
- companyName: The name of your company. Only required if it's the first app you create
|
|
5348
5348
|
- skipItc: Skip the creation of the app on App Store Connect
|
|
5349
5349
|
- itcUsers: Array of App Store Connect users. If provided, you can limit access to this newly created app for users with the App Manager, Developer, Marketer or Sales roles
|
|
@@ -7097,6 +7097,7 @@ func splunkmint(dsym: String? = nil,
|
|
|
7097
7097
|
- packagePath: Change working directory before any other operation
|
|
7098
7098
|
- xcconfig: Use xcconfig file to override swift package generate-xcodeproj defaults
|
|
7099
7099
|
- configuration: Build with configuration (debug|release) [default: debug]
|
|
7100
|
+
- disableSandbox: Disable using the sandbox when executing subprocesses
|
|
7100
7101
|
- xcprettyOutput: Specifies the output type for xcpretty. eg. 'test', or 'simple'
|
|
7101
7102
|
- xcprettyArgs: Pass in xcpretty additional command line arguments (e.g. '--test --no-color' or '--tap --no-utf'), requires xcpretty_output to be specified also
|
|
7102
7103
|
- verbose: Increase verbosity of informational output
|
|
@@ -7106,6 +7107,7 @@ func spm(command: String = "build",
|
|
|
7106
7107
|
packagePath: String? = nil,
|
|
7107
7108
|
xcconfig: String? = nil,
|
|
7108
7109
|
configuration: String? = nil,
|
|
7110
|
+
disableSandbox: Bool = false,
|
|
7109
7111
|
xcprettyOutput: String? = nil,
|
|
7110
7112
|
xcprettyArgs: String? = nil,
|
|
7111
7113
|
verbose: Bool = false) {
|
|
@@ -7114,6 +7116,7 @@ func spm(command: String = "build",
|
|
|
7114
7116
|
RubyCommand.Argument(name: "package_path", value: packagePath),
|
|
7115
7117
|
RubyCommand.Argument(name: "xcconfig", value: xcconfig),
|
|
7116
7118
|
RubyCommand.Argument(name: "configuration", value: configuration),
|
|
7119
|
+
RubyCommand.Argument(name: "disable_sandbox", value: disableSandbox),
|
|
7117
7120
|
RubyCommand.Argument(name: "xcpretty_output", value: xcprettyOutput),
|
|
7118
7121
|
RubyCommand.Argument(name: "xcpretty_args", value: xcprettyArgs),
|
|
7119
7122
|
RubyCommand.Argument(name: "verbose", value: verbose)])
|
|
@@ -7196,7 +7199,7 @@ func supply(packageName: String,
|
|
|
7196
7199
|
releaseStatus: String = "completed",
|
|
7197
7200
|
track: String = "production",
|
|
7198
7201
|
rollout: String? = nil,
|
|
7199
|
-
metadataPath: String
|
|
7202
|
+
metadataPath: String = "./metadata",
|
|
7200
7203
|
key: String? = nil,
|
|
7201
7204
|
issuer: String? = nil,
|
|
7202
7205
|
jsonKey: String? = nil,
|
|
@@ -8099,9 +8102,9 @@ func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/api/0",
|
|
|
8099
8102
|
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
|
|
8100
8103
|
- runPrecheckBeforeSubmit: Run precheck before submitting to app review
|
|
8101
8104
|
- precheckDefaultRuleLevel: The default precheck rule level unless otherwise configured
|
|
8102
|
-
- individualMetadataItems: An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
|
|
8103
|
-
- appIcon: Metadata: The path to the app icon
|
|
8104
|
-
- appleWatchAppIcon: Metadata: The path to the Apple Watch app icon
|
|
8105
|
+
- individualMetadataItems: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
|
|
8106
|
+
- appIcon: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - Metadata: The path to the app icon
|
|
8107
|
+
- appleWatchAppIcon: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - Metadata: The path to the Apple Watch app icon
|
|
8105
8108
|
- copyright: Metadata: The copyright notice
|
|
8106
8109
|
- primaryCategory: Metadata: The english name of the primary category (e.g. `Business`, `Books`)
|
|
8107
8110
|
- secondaryCategory: Metadata: The english name of the secondary category (e.g. `Business`, `Books`)
|
|
@@ -8159,7 +8162,7 @@ func uploadToAppStore(username: String,
|
|
|
8159
8162
|
resetRatings: Bool = false,
|
|
8160
8163
|
priceTier: Any? = nil,
|
|
8161
8164
|
appRatingConfigPath: String? = nil,
|
|
8162
|
-
submissionInformation: Any? = nil,
|
|
8165
|
+
submissionInformation: [String : Any]? = nil,
|
|
8163
8166
|
teamId: Any? = nil,
|
|
8164
8167
|
teamName: String? = nil,
|
|
8165
8168
|
devPortalTeamId: String? = nil,
|
|
@@ -8305,7 +8308,7 @@ func uploadToPlayStore(packageName: String,
|
|
|
8305
8308
|
releaseStatus: String = "completed",
|
|
8306
8309
|
track: String = "production",
|
|
8307
8310
|
rollout: String? = nil,
|
|
8308
|
-
metadataPath: String
|
|
8311
|
+
metadataPath: String = "./metadata",
|
|
8309
8312
|
key: String? = nil,
|
|
8310
8313
|
issuer: String? = nil,
|
|
8311
8314
|
jsonKey: String? = nil,
|
|
@@ -8815,7 +8818,7 @@ func xcov(workspace: String? = nil,
|
|
|
8815
8818
|
coverallsServiceJobId: String? = nil,
|
|
8816
8819
|
coverallsRepoToken: String? = nil,
|
|
8817
8820
|
xcconfig: String? = nil,
|
|
8818
|
-
ideFoundationPath: String = "/Applications/Xcode
|
|
8821
|
+
ideFoundationPath: String = "/Applications/Xcode.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
|
8819
8822
|
legacySupport: Bool = false) {
|
|
8820
8823
|
let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
|
8821
8824
|
RubyCommand.Argument(name: "project", value: project),
|
|
@@ -8960,4 +8963,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
|
|
|
8960
8963
|
|
|
8961
8964
|
// Please don't remove the lines below
|
|
8962
8965
|
// They are used to detect outdated files
|
|
8963
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
8966
|
+
// FastlaneRunnerAPIVersion [0.9.72]
|
|
@@ -34,7 +34,7 @@ class SocketClient: NSObject {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
static let connectTimeoutSeconds = 2
|
|
37
|
-
static let defaultCommandTimeoutSeconds =
|
|
37
|
+
static let defaultCommandTimeoutSeconds = 10_800 // 3 hours
|
|
38
38
|
static let doneToken = "done" // TODO: remove these
|
|
39
39
|
static let cancelToken = "cancelFastlaneRun"
|
|
40
40
|
|
|
@@ -118,6 +118,7 @@ class SocketClient: NSObject {
|
|
|
118
118
|
public func send(rubyCommand: RubyCommandable) {
|
|
119
119
|
verbose(message: "sending: \(rubyCommand.json)")
|
|
120
120
|
send(string: rubyCommand.json)
|
|
121
|
+
writeSemaphore.signal()
|
|
121
122
|
}
|
|
122
123
|
|
|
123
124
|
public func sendComplete() {
|
|
@@ -37,7 +37,6 @@ module FastlaneCore
|
|
|
37
37
|
|
|
38
38
|
def self.fetch_info_plist_file(path)
|
|
39
39
|
UI.user_error!("Could not find file at path '#{path}'") unless File.exist?(path)
|
|
40
|
-
Zip.validate_entry_sizes = true # https://github.com/rubyzip/rubyzip/releases/tag/v2.0.0
|
|
41
40
|
Zip::File.open(path, "rb") do |zipfile|
|
|
42
41
|
file = zipfile.glob('**/Payload/*.app/Info.plist').first
|
|
43
42
|
return nil unless file
|
|
@@ -113,7 +113,7 @@ module FastlaneCore
|
|
|
113
113
|
else
|
|
114
114
|
# `security` only works on Mac, fallback to `openssl`
|
|
115
115
|
# via https://stackoverflow.com/a/14379814/252627
|
|
116
|
-
decoded = `openssl smime -inform der -verify -noverify -in #{path} 2> #{err}`
|
|
116
|
+
decoded = `openssl smime -inform der -verify -noverify -in #{path.shellescape} 2> #{err}`
|
|
117
117
|
end
|
|
118
118
|
UI.error("Failure to decode #{path}. Exit: #{$?.exitstatus}: #{File.read(err)}") if $?.exitstatus != 0
|
|
119
119
|
decoded
|
|
@@ -120,6 +120,12 @@ module Spaceship
|
|
|
120
120
|
def upload_screenshot(path: nil, wait_for_processing: true)
|
|
121
121
|
return Spaceship::ConnectAPI::AppScreenshot.create(app_screenshot_set_id: id, path: path, wait_for_processing: wait_for_processing)
|
|
122
122
|
end
|
|
123
|
+
|
|
124
|
+
def reorder_screenshots(app_screenshot_ids: nil)
|
|
125
|
+
Spaceship::ConnectAPI.patch_app_screenshot_set_screenshots(app_screenshot_set_id: id, app_screenshot_ids: app_screenshot_ids)
|
|
126
|
+
|
|
127
|
+
return Spaceship::ConnectAPI.get_app_screenshot_set(app_screenshot_set_id: id, includes: "appScreenshots").first
|
|
128
|
+
end
|
|
123
129
|
end
|
|
124
130
|
end
|
|
125
131
|
end
|
|
@@ -15,6 +15,8 @@ module Spaceship
|
|
|
15
15
|
attr_accessor :demo_account_required
|
|
16
16
|
attr_accessor :notes
|
|
17
17
|
|
|
18
|
+
attr_accessor :app_store_review_attachments
|
|
19
|
+
|
|
18
20
|
attr_mapping({
|
|
19
21
|
"contactFirstName" => "contact_first_name",
|
|
20
22
|
"contactLastName" => "contact_last_name",
|
|
@@ -23,7 +25,9 @@ module Spaceship
|
|
|
23
25
|
"demoAccountName" => "demo_account_name",
|
|
24
26
|
"demoAccountPassword" => "demo_account_password",
|
|
25
27
|
"demoAccountRequired" => "demo_account_required",
|
|
26
|
-
"notes" => "notes"
|
|
28
|
+
"notes" => "notes",
|
|
29
|
+
|
|
30
|
+
"appStoreReviewAttachments" => "app_store_review_attachments"
|
|
27
31
|
})
|
|
28
32
|
|
|
29
33
|
def self.type
|
|
@@ -34,11 +38,6 @@ module Spaceship
|
|
|
34
38
|
# API
|
|
35
39
|
#
|
|
36
40
|
|
|
37
|
-
def fetch_app_review_attachments
|
|
38
|
-
resp = Spaceship::ConnectAPI.get_app_review_attachments(app_store_review_detail_id: id)
|
|
39
|
-
return resp.to_models
|
|
40
|
-
end
|
|
41
|
-
|
|
42
41
|
def update(attributes: nil)
|
|
43
42
|
return Spaceship::ConnectAPI.patch_app_store_review_detail(app_store_review_detail_id: id, attributes: attributes)
|
|
44
43
|
end
|
|
@@ -122,8 +122,8 @@ module Spaceship
|
|
|
122
122
|
return resp.to_models.first
|
|
123
123
|
end
|
|
124
124
|
|
|
125
|
-
def fetch_app_store_review_detail
|
|
126
|
-
resp = Spaceship::ConnectAPI.get_app_store_review_detail(app_store_version_id: id)
|
|
125
|
+
def fetch_app_store_review_detail(includes: "appStoreReviewAttachments")
|
|
126
|
+
resp = Spaceship::ConnectAPI.get_app_store_review_detail(app_store_version_id: id, includes: includes)
|
|
127
127
|
return resp.to_models.first
|
|
128
128
|
end
|
|
129
129
|
|
|
@@ -273,11 +273,6 @@ module Spaceship
|
|
|
273
273
|
# appReviewAttachments
|
|
274
274
|
#
|
|
275
275
|
|
|
276
|
-
def get_app_review_attachments(app_store_review_detail_id: nil, filter: {}, includes: nil, limit: nil, sort: nil)
|
|
277
|
-
params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
|
|
278
|
-
Client.instance.get("appStoreReviewDetails/#{app_store_review_detail_id}/appReviewAttachments", params)
|
|
279
|
-
end
|
|
280
|
-
|
|
281
276
|
def post_app_review_attachment(app_store_review_detail_id: nil, attributes: {})
|
|
282
277
|
body = {
|
|
283
278
|
data: {
|
|
@@ -323,6 +318,11 @@ module Spaceship
|
|
|
323
318
|
Client.instance.get("appScreenshotSets", params)
|
|
324
319
|
end
|
|
325
320
|
|
|
321
|
+
def get_app_screenshot_set(app_screenshot_set_id: nil, filter: {}, includes: nil, limit: nil, sort: nil)
|
|
322
|
+
params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
|
|
323
|
+
Client.instance.get("appScreenshotSets/#{app_screenshot_set_id}", params)
|
|
324
|
+
end
|
|
325
|
+
|
|
326
326
|
def post_app_screenshot_set(app_store_version_localization_id: nil, attributes: {})
|
|
327
327
|
body = {
|
|
328
328
|
data: {
|
|
@@ -342,6 +342,21 @@ module Spaceship
|
|
|
342
342
|
Client.instance.post("appScreenshotSets", body)
|
|
343
343
|
end
|
|
344
344
|
|
|
345
|
+
def patch_app_screenshot_set_screenshots(app_screenshot_set_id: nil, app_screenshot_ids: nil)
|
|
346
|
+
app_screenshot_ids ||= []
|
|
347
|
+
|
|
348
|
+
body = {
|
|
349
|
+
data: app_screenshot_ids.map do |app_screenshot_id|
|
|
350
|
+
{
|
|
351
|
+
type: "appScreenshots",
|
|
352
|
+
id: app_screenshot_id
|
|
353
|
+
}
|
|
354
|
+
end
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
Client.instance.patch("appScreenshotSets/#{app_screenshot_set_id}/relationships/appScreenshots", body)
|
|
358
|
+
end
|
|
359
|
+
|
|
345
360
|
#
|
|
346
361
|
# appScreenshots
|
|
347
362
|
#
|
metadata
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.150.0
|
|
4
|
+
version: 2.150.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
- Manu Wallner
|
|
8
|
-
- Danielle Tomlinson
|
|
9
|
-
- Matthew Ellis
|
|
10
|
-
- Stefan Natchev
|
|
11
|
-
- Jimmy Dee
|
|
12
|
-
- Kohki Miki
|
|
13
|
-
- Jorge Revuelta H
|
|
14
|
-
- Daniel Jankowski
|
|
15
|
-
- Jérôme Lacoste
|
|
16
7
|
- Andrew McBurney
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
- Helmut Januschka
|
|
8
|
+
- Jimmy Dee
|
|
9
|
+
- Matthew Ellis
|
|
20
10
|
- Jan Piotrowski
|
|
21
|
-
- Luka Mirosevic
|
|
22
|
-
- Felix Krause
|
|
23
|
-
- Fumiya Nakamura
|
|
24
|
-
- Olivier Halligon
|
|
25
|
-
- Maksym Grebenets
|
|
26
11
|
- Aaron Brager
|
|
12
|
+
- Helmut Januschka
|
|
27
13
|
- Josh Holtz
|
|
14
|
+
- Daniel Jankowski
|
|
15
|
+
- Manu Wallner
|
|
16
|
+
- Kohki Miki
|
|
17
|
+
- Luka Mirosevic
|
|
18
|
+
- Max Ott
|
|
19
|
+
- Jorge Revuelta H
|
|
20
|
+
- Danielle Tomlinson
|
|
21
|
+
- Stefan Natchev
|
|
22
|
+
- Fumiya Nakamura
|
|
23
|
+
- Iulian Onofrei
|
|
28
24
|
- Joshua Liebowitz
|
|
25
|
+
- Jérôme Lacoste
|
|
26
|
+
- Maksym Grebenets
|
|
27
|
+
- Olivier Halligon
|
|
28
|
+
- Felix Krause
|
|
29
29
|
autorequire:
|
|
30
30
|
bindir: bin
|
|
31
31
|
cert_chain: []
|
|
@@ -495,20 +495,20 @@ dependencies:
|
|
|
495
495
|
requirements:
|
|
496
496
|
- - ">="
|
|
497
497
|
- !ruby/object:Gem::Version
|
|
498
|
-
version:
|
|
498
|
+
version: 2.0.0
|
|
499
499
|
- - "<"
|
|
500
500
|
- !ruby/object:Gem::Version
|
|
501
|
-
version:
|
|
501
|
+
version: 3.0.0
|
|
502
502
|
type: :runtime
|
|
503
503
|
prerelease: false
|
|
504
504
|
version_requirements: !ruby/object:Gem::Requirement
|
|
505
505
|
requirements:
|
|
506
506
|
- - ">="
|
|
507
507
|
- !ruby/object:Gem::Version
|
|
508
|
-
version:
|
|
508
|
+
version: 2.0.0
|
|
509
509
|
- - "<"
|
|
510
510
|
- !ruby/object:Gem::Version
|
|
511
|
-
version:
|
|
511
|
+
version: 3.0.0
|
|
512
512
|
- !ruby/object:Gem::Dependency
|
|
513
513
|
name: security
|
|
514
514
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -654,7 +654,7 @@ dependencies:
|
|
|
654
654
|
version: '0.1'
|
|
655
655
|
- - "<"
|
|
656
656
|
- !ruby/object:Gem::Version
|
|
657
|
-
version: '
|
|
657
|
+
version: '4.0'
|
|
658
658
|
type: :runtime
|
|
659
659
|
prerelease: false
|
|
660
660
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -664,7 +664,7 @@ dependencies:
|
|
|
664
664
|
version: '0.1'
|
|
665
665
|
- - "<"
|
|
666
666
|
- !ruby/object:Gem::Version
|
|
667
|
-
version: '
|
|
667
|
+
version: '4.0'
|
|
668
668
|
- !ruby/object:Gem::Dependency
|
|
669
669
|
name: aws-sdk-s3
|
|
670
670
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1842,9 +1842,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
1842
1842
|
version: '2.4'
|
|
1843
1843
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1844
1844
|
requirements:
|
|
1845
|
-
- - "
|
|
1845
|
+
- - ">="
|
|
1846
1846
|
- !ruby/object:Gem::Version
|
|
1847
|
-
version:
|
|
1847
|
+
version: '0'
|
|
1848
1848
|
requirements: []
|
|
1849
1849
|
rubygems_version: 3.0.3
|
|
1850
1850
|
signing_key:
|