fastlane 2.121.0.beta.20190422200029 → 2.121.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 +64 -64
- data/deliver/lib/deliver/.app_screenshot.rb.swp +0 -0
- data/deliver/lib/deliver/app_screenshot.rb +32 -5
- data/deliver/lib/deliver/download_screenshots.rb +1 -1
- data/deliver/lib/deliver/options.rb +4 -0
- data/deliver/lib/deliver/upload_metadata.rb +1 -1
- data/deliver/lib/deliver/upload_screenshots.rb +1 -1
- data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +4 -0
- data/fastlane/lib/fastlane/actions/modify_services.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +3 -1
- data/fastlane/swift/Fastlane.swift +25 -7
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- 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/spaceship/lib/spaceship/connect_api/.DS_Store +0 -0
- data/spaceship/lib/spaceship/portal/ui/.select_team.rb.swp +0 -0
- metadata +36 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b835903a6d2e6f8eff6e808584cc678cbd8fcc6
|
4
|
+
data.tar.gz: 6129b0aae9f3211d3b14c64bd9c13a0af1b9d244
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb66c3c2bfac5141c43c4c316a52a38919e43a05162204c79e2406362cf4d41bbcf48728e1bce966a83d7c35fb8d9daf972be720b03b3936740b7f648be37871
|
7
|
+
data.tar.gz: ebb33239eff57802b6c7ba9691ac0a817f843bea32e882e5999810fd2b4fb1e55546a4cbae35cea72a568feaaec1ed5c4a08c20fd4294814b0008311ddc46ace
|
data/README.md
CHANGED
@@ -33,29 +33,29 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
33
33
|
<!-- This table is regenerated and resorted on each release -->
|
34
34
|
<table id='team'>
|
35
35
|
<tr>
|
36
|
-
<td id='
|
37
|
-
<a href='https://github.com/
|
38
|
-
<img src='https://github.com/
|
36
|
+
<td id='helmut-januschka'>
|
37
|
+
<a href='https://github.com/hjanuschka'>
|
38
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
39
39
|
</a>
|
40
|
-
<h4 align='center'><a href='https://twitter.com/
|
40
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
41
41
|
</td>
|
42
|
-
<td id='
|
43
|
-
<a href='https://github.com/
|
44
|
-
<img src='https://github.com/
|
42
|
+
<td id='jérôme-lacoste'>
|
43
|
+
<a href='https://github.com/lacostej'>
|
44
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
45
45
|
</a>
|
46
|
-
<h4 align='center'><a href='https://twitter.com/
|
46
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
47
47
|
</td>
|
48
|
-
<td id='
|
49
|
-
<a href='https://github.com/
|
50
|
-
<img src='https://github.com/
|
48
|
+
<td id='felix-krause'>
|
49
|
+
<a href='https://github.com/KrauseFx'>
|
50
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
51
51
|
</a>
|
52
|
-
<h4 align='center'><a href='https://twitter.com/
|
52
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
53
53
|
</td>
|
54
|
-
<td id='
|
55
|
-
<a href='https://github.com/
|
56
|
-
<img src='https://github.com/
|
54
|
+
<td id='joshua-liebowitz'>
|
55
|
+
<a href='https://github.com/taquitos'>
|
56
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
57
57
|
</a>
|
58
|
-
<h4 align='center'><a href='https://twitter.com/
|
58
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
59
59
|
</td>
|
60
60
|
<td id='jimmy-dee'>
|
61
61
|
<a href='https://github.com/jdee'>
|
@@ -65,6 +65,24 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
65
65
|
</td>
|
66
66
|
</tr>
|
67
67
|
<tr>
|
68
|
+
<td id='stefan-natchev'>
|
69
|
+
<a href='https://github.com/snatchev'>
|
70
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
71
|
+
</a>
|
72
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
73
|
+
</td>
|
74
|
+
<td id='andrew-mcburney'>
|
75
|
+
<a href='https://github.com/armcburney'>
|
76
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
77
|
+
</a>
|
78
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
79
|
+
</td>
|
80
|
+
<td id='iulian-onofrei'>
|
81
|
+
<a href='https://github.com/revolter'>
|
82
|
+
<img src='https://github.com/revolter.png?size=140'>
|
83
|
+
</a>
|
84
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
85
|
+
</td>
|
68
86
|
<td id='matthew-ellis'>
|
69
87
|
<a href='https://github.com/matthewellis'>
|
70
88
|
<img src='https://github.com/matthewellis.png?size=140'>
|
@@ -77,17 +95,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
77
95
|
</a>
|
78
96
|
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
79
97
|
</td>
|
98
|
+
</tr>
|
99
|
+
<tr>
|
80
100
|
<td id='danielle-tomlinson'>
|
81
101
|
<a href='https://github.com/DanToml'>
|
82
102
|
<img src='https://github.com/DanToml.png?size=140'>
|
83
103
|
</a>
|
84
104
|
<h4 align='center'><a href='https://twitter.com/DanToml'>Danielle Tomlinson</a></h4>
|
85
105
|
</td>
|
86
|
-
<td id='
|
87
|
-
<a href='https://github.com/
|
88
|
-
<img src='https://github.com/
|
106
|
+
<td id='manu-wallner'>
|
107
|
+
<a href='https://github.com/milch'>
|
108
|
+
<img src='https://github.com/milch.png?size=140'>
|
89
109
|
</a>
|
90
|
-
<h4 align='center'><a href='https://twitter.com/
|
110
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
111
|
+
</td>
|
112
|
+
<td id='kohki-miki'>
|
113
|
+
<a href='https://github.com/giginet'>
|
114
|
+
<img src='https://github.com/giginet.png?size=140'>
|
115
|
+
</a>
|
116
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
91
117
|
</td>
|
92
118
|
<td id='josh-holtz'>
|
93
119
|
<a href='https://github.com/joshdholtz'>
|
@@ -95,31 +121,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
95
121
|
</a>
|
96
122
|
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
97
123
|
</td>
|
98
|
-
|
99
|
-
<
|
100
|
-
<
|
101
|
-
<a href='https://github.com/KrauseFx'>
|
102
|
-
<img src='https://github.com/KrauseFx.png?size=140'>
|
103
|
-
</a>
|
104
|
-
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
105
|
-
</td>
|
106
|
-
<td id='helmut-januschka'>
|
107
|
-
<a href='https://github.com/hjanuschka'>
|
108
|
-
<img src='https://github.com/hjanuschka.png?size=140'>
|
124
|
+
<td id='aaron-brager'>
|
125
|
+
<a href='https://github.com/getaaron'>
|
126
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
109
127
|
</a>
|
110
|
-
<h4 align='center'><a href='https://twitter.com/
|
128
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
111
129
|
</td>
|
112
|
-
|
113
|
-
<
|
114
|
-
<
|
130
|
+
</tr>
|
131
|
+
<tr>
|
132
|
+
<td id='luka-mirosevic'>
|
133
|
+
<a href='https://github.com/lmirosevic'>
|
134
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
115
135
|
</a>
|
116
|
-
<h4 align='center'><a href='https://twitter.com/
|
136
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
117
137
|
</td>
|
118
|
-
<td id='
|
119
|
-
<a href='https://github.com/
|
120
|
-
<img src='https://github.com/
|
138
|
+
<td id='maksym-grebenets'>
|
139
|
+
<a href='https://github.com/mgrebenets'>
|
140
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
121
141
|
</a>
|
122
|
-
<h4 align='center'><a href='https://twitter.com/
|
142
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
123
143
|
</td>
|
124
144
|
<td id='olivier-halligon'>
|
125
145
|
<a href='https://github.com/AliSoftware'>
|
@@ -127,13 +147,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
127
147
|
</a>
|
128
148
|
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
129
149
|
</td>
|
130
|
-
|
131
|
-
<
|
132
|
-
<
|
133
|
-
<a href='https://github.com/mgrebenets'>
|
134
|
-
<img src='https://github.com/mgrebenets.png?size=140'>
|
150
|
+
<td id='jan-piotrowski'>
|
151
|
+
<a href='https://github.com/janpio'>
|
152
|
+
<img src='https://github.com/janpio.png?size=140'>
|
135
153
|
</a>
|
136
|
-
<h4 align='center'><a href='https://twitter.com/
|
154
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
137
155
|
</td>
|
138
156
|
<td id='jorge-revuelta-h'>
|
139
157
|
<a href='https://github.com/minuscorp'>
|
@@ -141,24 +159,6 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
141
159
|
</a>
|
142
160
|
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
143
161
|
</td>
|
144
|
-
<td id='stefan-natchev'>
|
145
|
-
<a href='https://github.com/snatchev'>
|
146
|
-
<img src='https://github.com/snatchev.png?size=140'>
|
147
|
-
</a>
|
148
|
-
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
149
|
-
</td>
|
150
|
-
<td id='jérôme-lacoste'>
|
151
|
-
<a href='https://github.com/lacostej'>
|
152
|
-
<img src='https://github.com/lacostej.png?size=140'>
|
153
|
-
</a>
|
154
|
-
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
155
|
-
</td>
|
156
|
-
<td id='andrew-mcburney'>
|
157
|
-
<a href='https://github.com/armcburney'>
|
158
|
-
<img src='https://github.com/armcburney.png?size=140'>
|
159
|
-
</a>
|
160
|
-
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
161
|
-
</td>
|
162
162
|
</tr>
|
163
163
|
</table>
|
164
164
|
|
Binary file
|
@@ -31,6 +31,8 @@ module Deliver
|
|
31
31
|
IOS_IPAD_11 = "iOS-iPad-11"
|
32
32
|
# iPad Pro
|
33
33
|
IOS_IPAD_PRO = "iOS-iPad-Pro"
|
34
|
+
# iPad Pro (12.9-inch) (3rd generation)
|
35
|
+
IOS_IPAD_PRO_12_9 = "iOS-iPad-Pro-12.9-3rd-gen"
|
34
36
|
|
35
37
|
# iPhone 5 iMessage
|
36
38
|
IOS_40_MESSAGES = "iOS-4-in-messages"
|
@@ -53,6 +55,8 @@ module Deliver
|
|
53
55
|
IOS_IPAD_11_MESSAGES = "iOS-11-messages"
|
54
56
|
# iPad Pro iMessage
|
55
57
|
IOS_IPAD_PRO_MESSAGES = "iOS-iPad-Pro-messages"
|
58
|
+
# iPad Pro (12.9-inch) (3rd generation) iMessage
|
59
|
+
IOS_IPAD_PRO_12_9_MESSAGES = "iOS-iPad-Pro-12.9-3rd-gen-messages"
|
56
60
|
|
57
61
|
# Apple Watch
|
58
62
|
IOS_APPLE_WATCH = "iOS-Apple-Watch"
|
@@ -90,8 +94,6 @@ module Deliver
|
|
90
94
|
|
91
95
|
# The iTC API requires a different notation for the device
|
92
96
|
def device_type
|
93
|
-
# This list does not include iPad Pro 12.9-inch (3rd generation)
|
94
|
-
# because it has same resoluation as IOS_IPAD_PRO and will clobber
|
95
97
|
matching = {
|
96
98
|
ScreenSize::IOS_35 => "iphone35",
|
97
99
|
ScreenSize::IOS_40 => "iphone4",
|
@@ -103,6 +105,7 @@ module Deliver
|
|
103
105
|
ScreenSize::IOS_IPAD_10_5 => "ipad105",
|
104
106
|
ScreenSize::IOS_IPAD_11 => "ipadPro11",
|
105
107
|
ScreenSize::IOS_IPAD_PRO => "ipadPro",
|
108
|
+
ScreenSize::IOS_IPAD_PRO_12_9 => "ipadPro129",
|
106
109
|
ScreenSize::IOS_40_MESSAGES => "iphone4",
|
107
110
|
ScreenSize::IOS_47_MESSAGES => "iphone6", # also 7 & 8
|
108
111
|
ScreenSize::IOS_55_MESSAGES => "iphone6Plus", # also 7 Plus & 8 Plus
|
@@ -110,6 +113,7 @@ module Deliver
|
|
110
113
|
ScreenSize::IOS_65_MESSAGES => "iphone65",
|
111
114
|
ScreenSize::IOS_IPAD_MESSAGES => "ipad",
|
112
115
|
ScreenSize::IOS_IPAD_PRO_MESSAGES => "ipadPro",
|
116
|
+
ScreenSize::IOS_IPAD_PRO_12_9_MESSAGES => "ipadPro129",
|
113
117
|
ScreenSize::IOS_IPAD_10_5_MESSAGES => "ipad105",
|
114
118
|
ScreenSize::IOS_IPAD_11_MESSAGES => "ipadPro11",
|
115
119
|
ScreenSize::MAC => "desktop",
|
@@ -122,8 +126,6 @@ module Deliver
|
|
122
126
|
|
123
127
|
# Nice name
|
124
128
|
def formatted_name
|
125
|
-
# This list does not include iPad Pro 12.9-inch (3rd generation)
|
126
|
-
# because it has same resoluation as IOS_IPAD_PRO and will clobber
|
127
129
|
matching = {
|
128
130
|
ScreenSize::IOS_35 => "iPhone 4",
|
129
131
|
ScreenSize::IOS_40 => "iPhone 5",
|
@@ -136,6 +138,7 @@ module Deliver
|
|
136
138
|
ScreenSize::IOS_IPAD_10_5 => "iPad 10.5",
|
137
139
|
ScreenSize::IOS_IPAD_11 => "iPad 11",
|
138
140
|
ScreenSize::IOS_IPAD_PRO => "iPad Pro",
|
141
|
+
ScreenSize::IOS_IPAD_PRO_12_9 => "iPad Pro (12.9-inch) (3rd generation)",
|
139
142
|
ScreenSize::IOS_40_MESSAGES => "iPhone 5 (iMessage)",
|
140
143
|
ScreenSize::IOS_47_MESSAGES => "iPhone 6 (iMessage)", # also 7 & 8
|
141
144
|
ScreenSize::IOS_55_MESSAGES => "iPhone 6 Plus (iMessage)", # also 7 Plus & 8 Plus
|
@@ -144,6 +147,7 @@ module Deliver
|
|
144
147
|
ScreenSize::IOS_65_MESSAGES => "iPhone XS Max (iMessage)",
|
145
148
|
ScreenSize::IOS_IPAD_MESSAGES => "iPad (iMessage)",
|
146
149
|
ScreenSize::IOS_IPAD_PRO_MESSAGES => "iPad Pro (iMessage)",
|
150
|
+
ScreenSize::IOS_IPAD_PRO_12_9_MESSAGES => "iPad Pro (12.9-inch) (3rd generation) (iMessage)",
|
147
151
|
ScreenSize::IOS_IPAD_10_5_MESSAGES => "iPad 10.5 (iMessage)",
|
148
152
|
ScreenSize::IOS_IPAD_11_MESSAGES => "iPad 11 (iMessage)",
|
149
153
|
ScreenSize::MAC => "Mac",
|
@@ -170,12 +174,15 @@ module Deliver
|
|
170
174
|
ScreenSize::IOS_65_MESSAGES,
|
171
175
|
ScreenSize::IOS_IPAD_MESSAGES,
|
172
176
|
ScreenSize::IOS_IPAD_PRO_MESSAGES,
|
177
|
+
ScreenSize::IOS_IPAD_PRO_12_9_MESSAGES,
|
173
178
|
ScreenSize::IOS_IPAD_10_5_MESSAGES,
|
174
179
|
ScreenSize::IOS_IPAD_11_MESSAGES
|
175
180
|
].include?(self.screen_size)
|
176
181
|
end
|
177
182
|
|
178
183
|
def self.device_messages
|
184
|
+
# This list does not include iPad Pro 12.9-inch (3rd generation)
|
185
|
+
# because it has same resoluation as IOS_IPAD_PRO and will clobber
|
179
186
|
return {
|
180
187
|
ScreenSize::IOS_65_MESSAGES => [
|
181
188
|
[1242, 2688],
|
@@ -230,6 +237,8 @@ module Deliver
|
|
230
237
|
|
231
238
|
# reference: https://help.apple.com/app-store-connect/#/devd274dd925
|
232
239
|
def self.devices
|
240
|
+
# This list does not include iPad Pro 12.9-inch (3rd generation)
|
241
|
+
# because it has same resoluation as IOS_IPAD_PRO and will clobber
|
233
242
|
return {
|
234
243
|
ScreenSize::IOS_65 => [
|
235
244
|
[1242, 2688],
|
@@ -304,6 +313,21 @@ module Deliver
|
|
304
313
|
}
|
305
314
|
end
|
306
315
|
|
316
|
+
def self.resolve_ipadpro_conflict_if_needed(screen_size, filename)
|
317
|
+
is_3rd_gen = [
|
318
|
+
"(3rd generation)", # default simulator name has this
|
319
|
+
"ipadPro129" # downloaded screenshots name has this
|
320
|
+
].any? { |key| filename.include?(key) }
|
321
|
+
if is_3rd_gen
|
322
|
+
if screen_size == ScreenSize::IOS_IPAD_PRO
|
323
|
+
return ScreenSize::IOS_IPAD_PRO_12_9
|
324
|
+
elsif screen_size == ScreenSize::IOS_IPAD_PRO_MESSAGES
|
325
|
+
return ScreenSize::IOS_IPAD_PRO_12_9_MESSAGES
|
326
|
+
end
|
327
|
+
end
|
328
|
+
screen_size
|
329
|
+
end
|
330
|
+
|
307
331
|
def self.calculate_screen_size(path)
|
308
332
|
size = FastImage.size(path)
|
309
333
|
|
@@ -314,7 +338,10 @@ module Deliver
|
|
314
338
|
devices = path_component.eql?("iMessage") ? self.device_messages : self.devices
|
315
339
|
|
316
340
|
devices.each do |screen_size, resolutions|
|
317
|
-
|
341
|
+
if resolutions.include?(size)
|
342
|
+
filename = Pathname.new(path).basename.to_s
|
343
|
+
return resolve_ipadpro_conflict_if_needed(screen_size, filename)
|
344
|
+
end
|
318
345
|
end
|
319
346
|
|
320
347
|
UI.user_error!("Unsupported screen size #{size} for path '#{path}'")
|
@@ -13,7 +13,7 @@ module Deliver
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def self.download(options, folder_path)
|
16
|
-
v = options[:use_live_version] ? options[:app].live_version : options[:app].latest_version
|
16
|
+
v = options[:use_live_version] ? options[:app].live_version(platform: options[:platform]) : options[:app].latest_version(platform: options[:platform])
|
17
17
|
|
18
18
|
v.screenshots.each do |language, screenshots|
|
19
19
|
screenshots.each do |screenshot|
|
@@ -372,6 +372,10 @@ module Deliver
|
|
372
372
|
description: "Metadata: Localised privacy url",
|
373
373
|
optional: true,
|
374
374
|
is_string: false),
|
375
|
+
FastlaneCore::ConfigItem.new(key: :apple_tv_privacy_policy,
|
376
|
+
description: "Metadata: Localised Apple TV privacy policy text",
|
377
|
+
optional: true,
|
378
|
+
is_string: false),
|
375
379
|
FastlaneCore::ConfigItem.new(key: :support_url,
|
376
380
|
description: "Metadata: Localised support url",
|
377
381
|
optional: true,
|
@@ -10,7 +10,7 @@ module Deliver
|
|
10
10
|
NON_LOCALISED_VERSION_VALUES = [:copyright]
|
11
11
|
|
12
12
|
# Localised app details values
|
13
|
-
LOCALISED_APP_VALUES = [:name, :subtitle, :privacy_url]
|
13
|
+
LOCALISED_APP_VALUES = [:name, :subtitle, :privacy_url, :apple_tv_privacy_policy]
|
14
14
|
|
15
15
|
# Non localized app details values
|
16
16
|
NON_LOCALISED_APP_VALUES = [:primary_category, :secondary_category,
|
@@ -42,7 +42,7 @@ module Deliver
|
|
42
42
|
Helper.show_loading_indicator("Activating #{lng_text} #{enabled_languages.join(', ')}...")
|
43
43
|
v.save!
|
44
44
|
# This refreshes the app version from iTC after enabling a localization
|
45
|
-
v = app.edit_version
|
45
|
+
v = app.edit_version(platform: options[:platform])
|
46
46
|
Helper.hide_loading_indicator
|
47
47
|
end
|
48
48
|
|
Binary file
|
Binary file
|
@@ -704,7 +704,11 @@ You can do the same with folders
|
|
704
704
|
|
705
705
|
In this case, default values for keywords, urls, name and release notes are used in all localizations, but each language has a fully localized description
|
706
706
|
|
707
|
+
## Uploading screenshots for "iPad Pro (12.9-inch) (3rd generation)"
|
707
708
|
|
709
|
+
[Starting March 20, 2019 Apple's App Store](https://developer.apple.com/news/?id=03202019a) requires 12.9-inch iPad Pro (3rd generation) screenshots additionally to the iPad Pro 2nd generation [screenshots](https://help.apple.com/app-store-connect/#/devd274dd925). As fastlane historically uses the screenshot dimensions to determine the "display family" of a screenshot, this poses a problem as both use the same dimensions and are recognized as the same device family.
|
710
|
+
|
711
|
+
To solve this a screenshot of a 12.9-inch iPad Pro (3rd generation) must contain either the string `(3rd generation)` or `ipadPro129` (Apple's internal naming of the display family for the 3rd generation iPad Pro) in its filename to be assigned the correct display family and to be uploaded to the correct screenshot slot in your app's metadata.
|
708
712
|
|
709
713
|
## Automatically create screenshots
|
710
714
|
|
@@ -10,7 +10,7 @@ module Fastlane
|
|
10
10
|
require 'produce/service'
|
11
11
|
services = params[:services]
|
12
12
|
|
13
|
-
enabled_services = services.select { |_k, v| v == true || v.to_s
|
13
|
+
enabled_services = services.select { |_k, v| v == true || v.to_s != 'off' }.map { |k, v| [k, v == true || v.to_s == 'on' ? 'on' : v] }.to_h
|
14
14
|
disabled_services = services.reject { |_k, v| v == true || v.to_s == 'on' }.map { |k, v| [k, 'off'] }.to_h
|
15
15
|
|
16
16
|
enabled_services_object = self.service_object
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fastlane
|
2
|
-
VERSION = '2.121.0
|
2
|
+
VERSION = '2.121.0'.freeze
|
3
3
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
4
4
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
5
5
|
RUBOCOP_REQUIREMENT = '0.49.1'.freeze
|
@@ -51,6 +51,7 @@ protocol DeliverfileProtocol: class {
|
|
51
51
|
var promotionalText: [String : Any]? { get }
|
52
52
|
var releaseNotes: String? { get }
|
53
53
|
var privacyUrl: String? { get }
|
54
|
+
var appleTvPrivacyPolicy: String? { get }
|
54
55
|
var supportUrl: String? { get }
|
55
56
|
var marketingUrl: String? { get }
|
56
57
|
var languages: [String]? { get }
|
@@ -112,6 +113,7 @@ extension DeliverfileProtocol {
|
|
112
113
|
var promotionalText: [String : Any]? { return nil }
|
113
114
|
var releaseNotes: String? { return nil }
|
114
115
|
var privacyUrl: String? { return nil }
|
116
|
+
var appleTvPrivacyPolicy: String? { return nil }
|
115
117
|
var supportUrl: String? { return nil }
|
116
118
|
var marketingUrl: String? { return nil }
|
117
119
|
var languages: [String]? { return nil }
|
@@ -122,4 +124,4 @@ extension DeliverfileProtocol {
|
|
122
124
|
|
123
125
|
// Please don't remove the lines below
|
124
126
|
// They are used to detect outdated files
|
125
|
-
// FastlaneRunnerAPIVersion [0.9.
|
127
|
+
// FastlaneRunnerAPIVersion [0.9.7]
|
@@ -275,6 +275,7 @@ func appstore(username: String,
|
|
275
275
|
promotionalText: [String : Any]? = nil,
|
276
276
|
releaseNotes: String? = nil,
|
277
277
|
privacyUrl: String? = nil,
|
278
|
+
appleTvPrivacyPolicy: String? = nil,
|
278
279
|
supportUrl: String? = nil,
|
279
280
|
marketingUrl: String? = nil,
|
280
281
|
languages: [String]? = nil,
|
@@ -333,6 +334,7 @@ func appstore(username: String,
|
|
333
334
|
RubyCommand.Argument(name: "promotional_text", value: promotionalText),
|
334
335
|
RubyCommand.Argument(name: "release_notes", value: releaseNotes),
|
335
336
|
RubyCommand.Argument(name: "privacy_url", value: privacyUrl),
|
337
|
+
RubyCommand.Argument(name: "apple_tv_privacy_policy", value: appleTvPrivacyPolicy),
|
336
338
|
RubyCommand.Argument(name: "support_url", value: supportUrl),
|
337
339
|
RubyCommand.Argument(name: "marketing_url", value: marketingUrl),
|
338
340
|
RubyCommand.Argument(name: "languages", value: languages),
|
@@ -361,7 +363,8 @@ func artifactory(file: String,
|
|
361
363
|
proxyUsername: String? = nil,
|
362
364
|
proxyPassword: String? = nil,
|
363
365
|
proxyAddress: String? = nil,
|
364
|
-
proxyPort: String? = nil
|
366
|
+
proxyPort: String? = nil,
|
367
|
+
readTimeout: String? = nil) {
|
365
368
|
let command = RubyCommand(commandID: "", methodName: "artifactory", className: nil, args: [RubyCommand.Argument(name: "file", value: file),
|
366
369
|
RubyCommand.Argument(name: "repo", value: repo),
|
367
370
|
RubyCommand.Argument(name: "repo_path", value: repoPath),
|
@@ -374,7 +377,8 @@ func artifactory(file: String,
|
|
374
377
|
RubyCommand.Argument(name: "proxy_username", value: proxyUsername),
|
375
378
|
RubyCommand.Argument(name: "proxy_password", value: proxyPassword),
|
376
379
|
RubyCommand.Argument(name: "proxy_address", value: proxyAddress),
|
377
|
-
RubyCommand.Argument(name: "proxy_port", value: proxyPort)
|
380
|
+
RubyCommand.Argument(name: "proxy_port", value: proxyPort),
|
381
|
+
RubyCommand.Argument(name: "read_timeout", value: readTimeout)])
|
378
382
|
_ = runner.executeCommand(command)
|
379
383
|
}
|
380
384
|
func automaticCodeSigning(path: String,
|
@@ -1271,6 +1275,7 @@ func deliver(username: String = deliverfile.username,
|
|
1271
1275
|
promotionalText: [String : Any]? = deliverfile.promotionalText,
|
1272
1276
|
releaseNotes: String? = deliverfile.releaseNotes,
|
1273
1277
|
privacyUrl: String? = deliverfile.privacyUrl,
|
1278
|
+
appleTvPrivacyPolicy: String? = deliverfile.appleTvPrivacyPolicy,
|
1274
1279
|
supportUrl: String? = deliverfile.supportUrl,
|
1275
1280
|
marketingUrl: String? = deliverfile.marketingUrl,
|
1276
1281
|
languages: [String]? = deliverfile.languages,
|
@@ -1329,6 +1334,7 @@ func deliver(username: String = deliverfile.username,
|
|
1329
1334
|
RubyCommand.Argument(name: "promotional_text", value: promotionalText),
|
1330
1335
|
RubyCommand.Argument(name: "release_notes", value: releaseNotes),
|
1331
1336
|
RubyCommand.Argument(name: "privacy_url", value: privacyUrl),
|
1337
|
+
RubyCommand.Argument(name: "apple_tv_privacy_policy", value: appleTvPrivacyPolicy),
|
1332
1338
|
RubyCommand.Argument(name: "support_url", value: supportUrl),
|
1333
1339
|
RubyCommand.Argument(name: "marketing_url", value: marketingUrl),
|
1334
1340
|
RubyCommand.Argument(name: "languages", value: languages),
|
@@ -2451,11 +2457,15 @@ func pluginScores(outputPath: String,
|
|
2451
2457
|
}
|
2452
2458
|
func podLibLint(useBundleExec: Bool = true,
|
2453
2459
|
podspec: String? = nil,
|
2454
|
-
verbose:
|
2455
|
-
allowWarnings:
|
2460
|
+
verbose: Bool? = nil,
|
2461
|
+
allowWarnings: Bool? = nil,
|
2456
2462
|
sources: [String]? = nil,
|
2463
|
+
subspec: String? = nil,
|
2464
|
+
includePodspecs: String? = nil,
|
2465
|
+
externalPodspecs: String? = nil,
|
2457
2466
|
swiftVersion: String? = nil,
|
2458
2467
|
useLibraries: Bool = false,
|
2468
|
+
useModularHeaders: Bool = false,
|
2459
2469
|
failFast: Bool = false,
|
2460
2470
|
`private`: Bool = false,
|
2461
2471
|
quick: Bool = false) {
|
@@ -2464,8 +2474,12 @@ func podLibLint(useBundleExec: Bool = true,
|
|
2464
2474
|
RubyCommand.Argument(name: "verbose", value: verbose),
|
2465
2475
|
RubyCommand.Argument(name: "allow_warnings", value: allowWarnings),
|
2466
2476
|
RubyCommand.Argument(name: "sources", value: sources),
|
2477
|
+
RubyCommand.Argument(name: "subspec", value: subspec),
|
2478
|
+
RubyCommand.Argument(name: "include_podspecs", value: includePodspecs),
|
2479
|
+
RubyCommand.Argument(name: "external_podspecs", value: externalPodspecs),
|
2467
2480
|
RubyCommand.Argument(name: "swift_version", value: swiftVersion),
|
2468
2481
|
RubyCommand.Argument(name: "use_libraries", value: useLibraries),
|
2482
|
+
RubyCommand.Argument(name: "use_modular_headers", value: useModularHeaders),
|
2469
2483
|
RubyCommand.Argument(name: "fail_fast", value: failFast),
|
2470
2484
|
RubyCommand.Argument(name: "private", value: `private`),
|
2471
2485
|
RubyCommand.Argument(name: "quick", value: quick)])
|
@@ -3348,7 +3362,8 @@ func sonar(projectConfigurationPath: String? = nil,
|
|
3348
3362
|
sourceEncoding: String? = nil,
|
3349
3363
|
sonarRunnerArgs: String? = nil,
|
3350
3364
|
sonarLogin: String? = nil,
|
3351
|
-
sonarUrl: String? = nil
|
3365
|
+
sonarUrl: String? = nil,
|
3366
|
+
branchName: String? = nil) {
|
3352
3367
|
let command = RubyCommand(commandID: "", methodName: "sonar", className: nil, args: [RubyCommand.Argument(name: "project_configuration_path", value: projectConfigurationPath),
|
3353
3368
|
RubyCommand.Argument(name: "project_key", value: projectKey),
|
3354
3369
|
RubyCommand.Argument(name: "project_name", value: projectName),
|
@@ -3358,7 +3373,8 @@ func sonar(projectConfigurationPath: String? = nil,
|
|
3358
3373
|
RubyCommand.Argument(name: "source_encoding", value: sourceEncoding),
|
3359
3374
|
RubyCommand.Argument(name: "sonar_runner_args", value: sonarRunnerArgs),
|
3360
3375
|
RubyCommand.Argument(name: "sonar_login", value: sonarLogin),
|
3361
|
-
RubyCommand.Argument(name: "sonar_url", value: sonarUrl)
|
3376
|
+
RubyCommand.Argument(name: "sonar_url", value: sonarUrl),
|
3377
|
+
RubyCommand.Argument(name: "branch_name", value: branchName)])
|
3362
3378
|
_ = runner.executeCommand(command)
|
3363
3379
|
}
|
3364
3380
|
func spaceshipLogs(latest: Bool = true,
|
@@ -3885,6 +3901,7 @@ func uploadToAppStore(username: String,
|
|
3885
3901
|
promotionalText: [String : Any]? = nil,
|
3886
3902
|
releaseNotes: String? = nil,
|
3887
3903
|
privacyUrl: String? = nil,
|
3904
|
+
appleTvPrivacyPolicy: String? = nil,
|
3888
3905
|
supportUrl: String? = nil,
|
3889
3906
|
marketingUrl: String? = nil,
|
3890
3907
|
languages: [String]? = nil,
|
@@ -3943,6 +3960,7 @@ func uploadToAppStore(username: String,
|
|
3943
3960
|
RubyCommand.Argument(name: "promotional_text", value: promotionalText),
|
3944
3961
|
RubyCommand.Argument(name: "release_notes", value: releaseNotes),
|
3945
3962
|
RubyCommand.Argument(name: "privacy_url", value: privacyUrl),
|
3963
|
+
RubyCommand.Argument(name: "apple_tv_privacy_policy", value: appleTvPrivacyPolicy),
|
3946
3964
|
RubyCommand.Argument(name: "support_url", value: supportUrl),
|
3947
3965
|
RubyCommand.Argument(name: "marketing_url", value: marketingUrl),
|
3948
3966
|
RubyCommand.Argument(name: "languages", value: languages),
|
@@ -4305,4 +4323,4 @@ let screengrabfile: Screengrabfile = Screengrabfile()
|
|
4305
4323
|
let snapshotfile: Snapshotfile = Snapshotfile()
|
4306
4324
|
// Please don't remove the lines below
|
4307
4325
|
// They are used to detect outdated files
|
4308
|
-
// FastlaneRunnerAPIVersion [0.9.
|
4326
|
+
// FastlaneRunnerAPIVersion [0.9.46]
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.121.0
|
4
|
+
version: 2.121.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
- Iulian Onofrei
|
9
|
-
- Manu Wallner
|
10
|
-
- Danielle Tomlinson
|
11
|
-
- Aaron Brager
|
7
|
+
- Joshua Liebowitz
|
12
8
|
- Jérôme Lacoste
|
13
|
-
-
|
9
|
+
- Andrew McBurney
|
14
10
|
- Helmut Januschka
|
15
|
-
-
|
11
|
+
- Maksym Grebenets
|
12
|
+
- Kohki Miki
|
13
|
+
- Jimmy Dee
|
14
|
+
- Luka Mirosevic
|
16
15
|
- Fumiya Nakamura
|
16
|
+
- Danielle Tomlinson
|
17
|
+
- Iulian Onofrei
|
18
|
+
- Matthew Ellis
|
17
19
|
- Stefan Natchev
|
20
|
+
- Olivier Halligon
|
18
21
|
- Jorge Revuelta H
|
19
|
-
-
|
22
|
+
- Aaron Brager
|
23
|
+
- Manu Wallner
|
20
24
|
- Jan Piotrowski
|
21
|
-
- Andrew McBurney
|
22
25
|
- Josh Holtz
|
23
|
-
-
|
24
|
-
- Joshua Liebowitz
|
25
|
-
- Jimmy Dee
|
26
|
-
- Olivier Halligon
|
26
|
+
- Felix Krause
|
27
27
|
autorequire:
|
28
28
|
bindir: bin
|
29
29
|
cert_chain: []
|
30
|
-
date: 2019-04-
|
30
|
+
date: 2019-04-23 00:00:00.000000000 Z
|
31
31
|
dependencies:
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: slack-notifier
|
@@ -929,6 +929,7 @@ files:
|
|
929
929
|
- deliver/lib/assets/ScreenshotsHelp
|
930
930
|
- deliver/lib/assets/summary.html.erb
|
931
931
|
- deliver/lib/deliver.rb
|
932
|
+
- deliver/lib/deliver/.app_screenshot.rb.swp
|
932
933
|
- deliver/lib/deliver/app_screenshot.rb
|
933
934
|
- deliver/lib/deliver/commands_generator.rb
|
934
935
|
- deliver/lib/deliver/detect_values.rb
|
@@ -966,6 +967,8 @@ files:
|
|
966
967
|
- fastlane/lib/fastlane.rb
|
967
968
|
- fastlane/lib/fastlane/action.rb
|
968
969
|
- fastlane/lib/fastlane/action_collector.rb
|
970
|
+
- fastlane/lib/fastlane/actions/.slack.rb.swp
|
971
|
+
- fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp
|
969
972
|
- fastlane/lib/fastlane/actions/README.md
|
970
973
|
- fastlane/lib/fastlane/actions/actions_helper.rb
|
971
974
|
- fastlane/lib/fastlane/actions/adb.rb
|
@@ -1287,6 +1290,7 @@ files:
|
|
1287
1290
|
- fastlane/swift/Fastlane.swift
|
1288
1291
|
- fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj
|
1289
1292
|
- fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
|
1293
|
+
- fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate
|
1290
1294
|
- fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme
|
1291
1295
|
- fastlane/swift/FastlaneSwiftRunner/README.txt
|
1292
1296
|
- fastlane/swift/Gymfile.swift
|
@@ -1570,6 +1574,7 @@ files:
|
|
1570
1574
|
- spaceship/lib/spaceship/client.rb
|
1571
1575
|
- spaceship/lib/spaceship/commands_generator.rb
|
1572
1576
|
- spaceship/lib/spaceship/connect_api.rb
|
1577
|
+
- spaceship/lib/spaceship/connect_api/.DS_Store
|
1573
1578
|
- spaceship/lib/spaceship/connect_api/base.rb
|
1574
1579
|
- spaceship/lib/spaceship/connect_api/client.rb
|
1575
1580
|
- spaceship/lib/spaceship/du/du_client.rb
|
@@ -1602,6 +1607,7 @@ files:
|
|
1602
1607
|
- spaceship/lib/spaceship/portal/provisioning_profile.rb
|
1603
1608
|
- spaceship/lib/spaceship/portal/provisioning_profile_template.rb
|
1604
1609
|
- spaceship/lib/spaceship/portal/spaceship.rb
|
1610
|
+
- spaceship/lib/spaceship/portal/ui/.select_team.rb.swp
|
1605
1611
|
- spaceship/lib/spaceship/portal/ui/select_team.rb
|
1606
1612
|
- spaceship/lib/spaceship/portal/website_push.rb
|
1607
1613
|
- spaceship/lib/spaceship/provider.rb
|
@@ -1690,24 +1696,24 @@ metadata:
|
|
1690
1696
|
post_install_message:
|
1691
1697
|
rdoc_options: []
|
1692
1698
|
require_paths:
|
1693
|
-
-
|
1694
|
-
-
|
1699
|
+
- credentials_manager/lib
|
1700
|
+
- pem/lib
|
1701
|
+
- snapshot/lib
|
1695
1702
|
- frameit/lib
|
1696
|
-
- supply/lib
|
1697
|
-
- fastlane/lib
|
1698
|
-
- scan/lib
|
1699
|
-
- precheck/lib
|
1700
|
-
- screengrab/lib
|
1701
|
-
- cert/lib
|
1702
1703
|
- match/lib
|
1703
|
-
-
|
1704
|
+
- fastlane_core/lib
|
1704
1705
|
- deliver/lib
|
1705
|
-
-
|
1706
|
-
-
|
1706
|
+
- scan/lib
|
1707
|
+
- supply/lib
|
1708
|
+
- cert/lib
|
1709
|
+
- fastlane/lib
|
1707
1710
|
- spaceship/lib
|
1708
|
-
- sigh/lib
|
1709
1711
|
- pilot/lib
|
1710
1712
|
- gym/lib
|
1713
|
+
- precheck/lib
|
1714
|
+
- screengrab/lib
|
1715
|
+
- sigh/lib
|
1716
|
+
- produce/lib
|
1711
1717
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1712
1718
|
requirements:
|
1713
1719
|
- - ">="
|
@@ -1715,12 +1721,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1715
1721
|
version: 2.0.0
|
1716
1722
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1717
1723
|
requirements:
|
1718
|
-
- - "
|
1724
|
+
- - ">="
|
1719
1725
|
- !ruby/object:Gem::Version
|
1720
|
-
version:
|
1726
|
+
version: '0'
|
1721
1727
|
requirements: []
|
1722
1728
|
rubyforge_project:
|
1723
|
-
rubygems_version: 2.
|
1729
|
+
rubygems_version: 2.5.2.3
|
1724
1730
|
signing_key:
|
1725
1731
|
specification_version: 4
|
1726
1732
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|