fastlane 2.132.0 → 2.133.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +72 -72
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +10 -2
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +72 -3
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +121 -1
- data/fastlane/swift/Fastlane.swift +3827 -1
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +81 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +59 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +15 -2
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +109 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +39 -2
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +69 -1
- data/match/lib/match/storage/google_cloud_storage.rb +3 -0
- metadata +20 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f60586154ca46a8972940838fd1c842c4ea3d15710660ae67f6a1daa6e549725
|
4
|
+
data.tar.gz: 796c700b97db4495e2f108eec428ccb03dd6b2112fa8df8dcca3650165a00484
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73fb7ed813d160104e2481a6923797d673dc12109f60ad1c24b743a2dd0477460e70e614da2701c386ae5d0912a1964f4dee49a4db8c32a8a0a9ddba0a45cb29
|
7
|
+
data.tar.gz: e909f2a16fea9377e4fbf21466e38d64b5428b539db2751a1c28a83d3e6ae45aa27bce88960756c2d9056830c66660ccc3445317eeaa55156c58e699afd31e4d
|
data/README.md
CHANGED
@@ -34,23 +34,29 @@ 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='olivier-halligon'>
|
38
|
+
<a href='https://github.com/AliSoftware'>
|
39
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
40
|
+
</a>
|
41
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
42
|
+
</td>
|
37
43
|
<td id='helmut-januschka'>
|
38
44
|
<a href='https://github.com/hjanuschka'>
|
39
45
|
<img src='https://github.com/hjanuschka.png?size=140'>
|
40
46
|
</a>
|
41
47
|
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
42
48
|
</td>
|
43
|
-
<td id='
|
44
|
-
<a href='https://github.com/
|
45
|
-
<img src='https://github.com/
|
49
|
+
<td id='jérôme-lacoste'>
|
50
|
+
<a href='https://github.com/lacostej'>
|
51
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
46
52
|
</a>
|
47
|
-
<h4 align='center'><a href='https://twitter.com/
|
53
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
48
54
|
</td>
|
49
|
-
<td id='
|
50
|
-
<a href='https://github.com/
|
51
|
-
<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'>
|
52
58
|
</a>
|
53
|
-
<h4 align='center'><a href='https://twitter.com/
|
59
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
54
60
|
</td>
|
55
61
|
<td id='matthew-ellis'>
|
56
62
|
<a href='https://github.com/matthewellis'>
|
@@ -58,63 +64,45 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
58
64
|
</a>
|
59
65
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
60
66
|
</td>
|
61
|
-
<td id='olivier-halligon'>
|
62
|
-
<a href='https://github.com/AliSoftware'>
|
63
|
-
<img src='https://github.com/AliSoftware.png?size=140'>
|
64
|
-
</a>
|
65
|
-
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
66
|
-
</td>
|
67
67
|
</tr>
|
68
68
|
<tr>
|
69
|
-
<td id='
|
70
|
-
<a href='https://github.com/
|
71
|
-
<img src='https://github.com/
|
69
|
+
<td id='maksym-grebenets'>
|
70
|
+
<a href='https://github.com/mgrebenets'>
|
71
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
72
72
|
</a>
|
73
|
-
<h4 align='center'><a href='https://twitter.com/
|
73
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
74
74
|
</td>
|
75
|
-
<td id='
|
76
|
-
<a href='https://github.com/
|
77
|
-
<img src='https://github.com/
|
75
|
+
<td id='jimmy-dee'>
|
76
|
+
<a href='https://github.com/jdee'>
|
77
|
+
<img src='https://github.com/jdee.png?size=140'>
|
78
78
|
</a>
|
79
|
-
<h4 align='center'
|
79
|
+
<h4 align='center'>Jimmy Dee</h4>
|
80
80
|
</td>
|
81
|
-
<td id='
|
82
|
-
<a href='https://github.com/
|
83
|
-
<img src='https://github.com/
|
81
|
+
<td id='danielle-tomlinson'>
|
82
|
+
<a href='https://github.com/endocrimes'>
|
83
|
+
<img src='https://github.com/endocrimes.png?size=140'>
|
84
84
|
</a>
|
85
|
-
<h4 align='center'><a href='https://twitter.com/
|
85
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
86
86
|
</td>
|
87
|
-
<td id='
|
88
|
-
<a href='https://github.com/
|
89
|
-
<img src='https://github.com/
|
87
|
+
<td id='andrew-mcburney'>
|
88
|
+
<a href='https://github.com/armcburney'>
|
89
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
90
90
|
</a>
|
91
|
-
<h4 align='center'><a href='https://twitter.com/
|
91
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
92
92
|
</td>
|
93
|
-
<td id='
|
94
|
-
<a href='https://github.com/
|
95
|
-
<img src='https://github.com/
|
93
|
+
<td id='luka-mirosevic'>
|
94
|
+
<a href='https://github.com/lmirosevic'>
|
95
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
96
96
|
</a>
|
97
|
-
<h4 align='center'><a href='https://twitter.com/
|
97
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
98
98
|
</td>
|
99
99
|
</tr>
|
100
100
|
<tr>
|
101
|
-
<td id='
|
102
|
-
<a href='https://github.com/
|
103
|
-
<img src='https://github.com/
|
104
|
-
</a>
|
105
|
-
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
106
|
-
</td>
|
107
|
-
<td id='jorge-revuelta-h'>
|
108
|
-
<a href='https://github.com/minuscorp'>
|
109
|
-
<img src='https://github.com/minuscorp.png?size=140'>
|
110
|
-
</a>
|
111
|
-
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
112
|
-
</td>
|
113
|
-
<td id='jimmy-dee'>
|
114
|
-
<a href='https://github.com/jdee'>
|
115
|
-
<img src='https://github.com/jdee.png?size=140'>
|
101
|
+
<td id='joshua-liebowitz'>
|
102
|
+
<a href='https://github.com/taquitos'>
|
103
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
116
104
|
</a>
|
117
|
-
<h4 align='center'>
|
105
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
118
106
|
</td>
|
119
107
|
<td id='stefan-natchev'>
|
120
108
|
<a href='https://github.com/snatchev'>
|
@@ -122,43 +110,55 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
122
110
|
</a>
|
123
111
|
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
124
112
|
</td>
|
125
|
-
<td id='
|
126
|
-
<a href='https://github.com/
|
127
|
-
<img src='https://github.com/
|
113
|
+
<td id='kohki-miki'>
|
114
|
+
<a href='https://github.com/giginet'>
|
115
|
+
<img src='https://github.com/giginet.png?size=140'>
|
128
116
|
</a>
|
129
|
-
<h4 align='center'><a href='https://twitter.com/
|
117
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
118
|
+
</td>
|
119
|
+
<td id='manu-wallner'>
|
120
|
+
<a href='https://github.com/milch'>
|
121
|
+
<img src='https://github.com/milch.png?size=140'>
|
122
|
+
</a>
|
123
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
124
|
+
</td>
|
125
|
+
<td id='fumiya-nakamura'>
|
126
|
+
<a href='https://github.com/nafu'>
|
127
|
+
<img src='https://github.com/nafu.png?size=140'>
|
128
|
+
</a>
|
129
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
130
130
|
</td>
|
131
131
|
</tr>
|
132
132
|
<tr>
|
133
|
+
<td id='jan-piotrowski'>
|
134
|
+
<a href='https://github.com/janpio'>
|
135
|
+
<img src='https://github.com/janpio.png?size=140'>
|
136
|
+
</a>
|
137
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
138
|
+
</td>
|
133
139
|
<td id='felix-krause'>
|
134
140
|
<a href='https://github.com/KrauseFx'>
|
135
141
|
<img src='https://github.com/KrauseFx.png?size=140'>
|
136
142
|
</a>
|
137
143
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
138
144
|
</td>
|
139
|
-
<td id='
|
140
|
-
<a href='https://github.com/
|
141
|
-
<img src='https://github.com/
|
142
|
-
</a>
|
143
|
-
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
144
|
-
</td>
|
145
|
-
<td id='jérôme-lacoste'>
|
146
|
-
<a href='https://github.com/lacostej'>
|
147
|
-
<img src='https://github.com/lacostej.png?size=140'>
|
145
|
+
<td id='jorge-revuelta-h'>
|
146
|
+
<a href='https://github.com/minuscorp'>
|
147
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
148
148
|
</a>
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
149
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
150
150
|
</td>
|
151
|
-
<td id='
|
152
|
-
<a href='https://github.com/
|
153
|
-
<img src='https://github.com/
|
151
|
+
<td id='aaron-brager'>
|
152
|
+
<a href='https://github.com/getaaron'>
|
153
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
154
154
|
</a>
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
155
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
156
156
|
</td>
|
157
|
-
<td id='
|
158
|
-
<a href='https://github.com/
|
159
|
-
<img src='https://github.com/
|
157
|
+
<td id='iulian-onofrei'>
|
158
|
+
<a href='https://github.com/revolter'>
|
159
|
+
<img src='https://github.com/revolter.png?size=140'>
|
160
160
|
</a>
|
161
|
-
<h4 align='center'><a href='https://twitter.com/
|
161
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
162
162
|
</td>
|
163
163
|
</tr>
|
164
164
|
</table>
|
@@ -439,13 +439,17 @@ func parseInt(fromString: String, function: String = #function) -> Int {
|
|
439
439
|
if self.tools_option_files.include?(action_name.to_s.downcase)
|
440
440
|
tool_swift_function = ToolSwiftFunction.new(
|
441
441
|
action_name: action_name,
|
442
|
+
action_description: action.description,
|
443
|
+
action_details: action.details,
|
442
444
|
keys: keys,
|
443
445
|
key_descriptions: key_descriptions,
|
444
446
|
key_default_values: key_default_values,
|
445
447
|
key_optionality_values: key_optionality_values,
|
446
448
|
key_type_overrides: key_type_overrides,
|
447
449
|
key_is_strings: key_is_strings,
|
448
|
-
return_type: action_return_type
|
450
|
+
return_type: action_return_type,
|
451
|
+
return_value: action.return_value,
|
452
|
+
sample_return_value: action.sample_return_value
|
449
453
|
)
|
450
454
|
generated_protocol_file_path = generate_tool_protocol(tool_swift_function: tool_swift_function)
|
451
455
|
self.generated_paths << generated_protocol_file_path unless generated_protocol_file_path.nil?
|
@@ -453,13 +457,17 @@ func parseInt(fromString: String, function: String = #function) -> Int {
|
|
453
457
|
else
|
454
458
|
return SwiftFunction.new(
|
455
459
|
action_name: action_name,
|
460
|
+
action_description: action.description,
|
461
|
+
action_details: action.details,
|
456
462
|
keys: keys,
|
457
463
|
key_descriptions: key_descriptions,
|
458
464
|
key_default_values: key_default_values,
|
459
465
|
key_optionality_values: key_optionality_values,
|
460
466
|
key_type_overrides: key_type_overrides,
|
461
467
|
key_is_strings: key_is_strings,
|
462
|
-
return_type: action_return_type
|
468
|
+
return_type: action_return_type,
|
469
|
+
return_value: action.return_value,
|
470
|
+
sample_return_value: action.sample_return_value
|
463
471
|
)
|
464
472
|
end
|
465
473
|
end
|
@@ -1,7 +1,11 @@
|
|
1
1
|
module Fastlane
|
2
2
|
class SwiftFunction
|
3
3
|
attr_accessor :function_name
|
4
|
+
attr_accessor :function_description
|
5
|
+
attr_accessor :function_details
|
4
6
|
attr_accessor :return_type
|
7
|
+
attr_accessor :return_value
|
8
|
+
attr_accessor :sample_return_value
|
5
9
|
attr_accessor :param_names
|
6
10
|
attr_accessor :param_descriptions
|
7
11
|
attr_accessor :param_default_values
|
@@ -11,14 +15,18 @@ module Fastlane
|
|
11
15
|
attr_accessor :reserved_words
|
12
16
|
attr_accessor :default_values_to_ignore
|
13
17
|
|
14
|
-
def initialize(action_name: nil, keys: nil, key_descriptions: nil, key_default_values: nil, key_optionality_values: nil, key_type_overrides: nil, key_is_strings: nil, return_type: nil)
|
18
|
+
def initialize(action_name: nil, action_description: nil, action_details: nil, keys: nil, key_descriptions: nil, key_default_values: nil, key_optionality_values: nil, key_type_overrides: nil, key_is_strings: nil, return_type: nil, return_value: nil, sample_return_value: nil)
|
15
19
|
@function_name = action_name
|
20
|
+
@function_description = action_description
|
21
|
+
@function_details = action_details
|
16
22
|
@param_names = keys
|
17
23
|
@param_descriptions = key_descriptions
|
18
24
|
@param_default_values = key_default_values
|
19
25
|
@param_optionality_values = key_optionality_values
|
20
26
|
@param_is_strings = key_is_strings
|
21
27
|
@return_type = return_type
|
28
|
+
@return_value = non_empty(string: return_value)
|
29
|
+
@sample_return_value = non_empty(string: sample_return_value)
|
22
30
|
@param_type_overrides = key_type_overrides
|
23
31
|
|
24
32
|
# rubocop:disable LineLength
|
@@ -34,6 +42,14 @@ module Fastlane
|
|
34
42
|
return "`#{word}`"
|
35
43
|
end
|
36
44
|
|
45
|
+
def non_empty(string: nil)
|
46
|
+
if string.nil? || string.to_s.empty?
|
47
|
+
return nil
|
48
|
+
else
|
49
|
+
return string
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
37
53
|
def return_declaration
|
38
54
|
expected_type = swift_type_for_return_type
|
39
55
|
unless expected_type.to_s.length > 0
|
@@ -178,7 +194,54 @@ module Fastlane
|
|
178
194
|
indent = ' ' * (discardable_result.length + function_name.length + function_keyword_definition.length + open_paren.length)
|
179
195
|
params = self.parameters.join(",\n#{indent}")
|
180
196
|
|
181
|
-
return "#{discardable_result}#{function_keyword_definition}#{function_name}#{open_paren}#{params}#{closed_paren}#{function_return_declaration} {\n#{self.implementation}\n}"
|
197
|
+
return "#{swift_documentation}#{discardable_result}#{function_keyword_definition}#{function_name}#{open_paren}#{params}#{closed_paren}#{function_return_declaration} {\n#{self.implementation}\n}\n"
|
198
|
+
end
|
199
|
+
|
200
|
+
def swift_documentation
|
201
|
+
has_parameters = @param_names && @param_names.length > 0
|
202
|
+
unless @function_description || @function_details || has_parameters
|
203
|
+
return ''
|
204
|
+
end
|
205
|
+
|
206
|
+
description = " #{fix_documentation_indentation(string: @function_description)}" if @function_description
|
207
|
+
details = " #{fix_documentation_indentation(string: @function_details)}" if @function_details
|
208
|
+
separator = ''
|
209
|
+
documentation_elements = [description, swift_parameter_documentation, swift_return_value_documentation, details].compact
|
210
|
+
# Adds newlines between each documentation element.
|
211
|
+
documentation = documentation_elements.flat_map { |element| [element, separator] }.tap(&:pop).join("\n")
|
212
|
+
|
213
|
+
return "/**\n#{documentation}\n*/\n"
|
214
|
+
end
|
215
|
+
|
216
|
+
def swift_parameter_documentation
|
217
|
+
unless @param_names && @param_names.length > 0
|
218
|
+
return nil
|
219
|
+
end
|
220
|
+
|
221
|
+
names_and_descriptions = @param_names.zip(@param_descriptions)
|
222
|
+
|
223
|
+
if @param_names.length == 1
|
224
|
+
detail_strings = names_and_descriptions.map { |name, description| " - parameter #{camel_case_lower(string: name)}: #{description}" }
|
225
|
+
return detail_strings.first
|
226
|
+
else
|
227
|
+
detail_strings = names_and_descriptions.map { |name, description| " - #{camel_case_lower(string: name)}: #{description}" }
|
228
|
+
return " - parameters:\n#{detail_strings.join("\n")}"
|
229
|
+
end
|
230
|
+
end
|
231
|
+
|
232
|
+
def swift_return_value_documentation
|
233
|
+
unless @return_value
|
234
|
+
return nil
|
235
|
+
end
|
236
|
+
|
237
|
+
sample = ". Example: #{@sample_return_value}" if @sample_return_value
|
238
|
+
|
239
|
+
return " - returns: #{return_value}#{sample}"
|
240
|
+
end
|
241
|
+
|
242
|
+
def fix_documentation_indentation(string: nil)
|
243
|
+
indent = ' '
|
244
|
+
string.gsub("\n", "\n#{indent}")
|
182
245
|
end
|
183
246
|
|
184
247
|
def build_argument_list
|
@@ -248,12 +311,18 @@ module Fastlane
|
|
248
311
|
unless @param_names
|
249
312
|
return []
|
250
313
|
end
|
251
|
-
swift_vars = @param_names.zip(param_default_values, param_optionality_values, param_type_overrides).map do |param, default_value, optional, param_type_override|
|
314
|
+
swift_vars = @param_names.zip(param_default_values, param_optionality_values, param_type_overrides, param_descriptions).map do |param, default_value, optional, param_type_override, param_description|
|
252
315
|
type = get_type(param: param, default_value: default_value, optional: optional, param_type_override: param_type_override)
|
253
316
|
|
254
317
|
param = camel_case_lower(string: param)
|
255
318
|
param = sanitize_reserved_word(word: param)
|
256
319
|
static_var_for_parameter_name = param
|
320
|
+
|
321
|
+
if param_description
|
322
|
+
documentation = " /// #{param_description}\n"
|
323
|
+
end
|
324
|
+
|
325
|
+
"\n#{documentation}"\
|
257
326
|
" var #{static_var_for_parameter_name}: #{type} { get }"
|
258
327
|
end
|
259
328
|
|
@@ -1,63 +1,183 @@
|
|
1
1
|
protocol DeliverfileProtocol: class {
|
2
|
+
|
3
|
+
/// Your Apple ID Username
|
2
4
|
var username: String { get }
|
5
|
+
|
6
|
+
/// The bundle identifier of your app
|
3
7
|
var appIdentifier: String? { get }
|
8
|
+
|
9
|
+
/// The version that should be edited or created
|
4
10
|
var appVersion: String? { get }
|
11
|
+
|
12
|
+
/// Path to your ipa file
|
5
13
|
var ipa: String? { get }
|
14
|
+
|
15
|
+
/// Path to your pkg file
|
6
16
|
var pkg: String? { get }
|
17
|
+
|
18
|
+
/// If set the given build number (already uploaded to iTC) will be used instead of the current built one
|
7
19
|
var buildNumber: String? { get }
|
20
|
+
|
21
|
+
/// The platform to use (optional)
|
8
22
|
var platform: String { get }
|
23
|
+
|
24
|
+
/// Modify live metadata, this option disables ipa upload and screenshot upload
|
9
25
|
var editLive: Bool { get }
|
26
|
+
|
27
|
+
/// Force usage of live version rather than edit version
|
10
28
|
var useLiveVersion: Bool { get }
|
29
|
+
|
30
|
+
/// Path to the folder containing the metadata files
|
11
31
|
var metadataPath: String? { get }
|
32
|
+
|
33
|
+
/// Path to the folder containing the screenshots
|
12
34
|
var screenshotsPath: String? { get }
|
35
|
+
|
36
|
+
/// Skip uploading an ipa or pkg to App Store Connect
|
13
37
|
var skipBinaryUpload: Bool { get }
|
38
|
+
|
39
|
+
/// Don't upload the screenshots
|
14
40
|
var skipScreenshots: Bool { get }
|
41
|
+
|
42
|
+
/// Don't upload the metadata (e.g. title, description). This will still upload screenshots
|
15
43
|
var skipMetadata: Bool { get }
|
44
|
+
|
45
|
+
/// Don't update app version for submission
|
16
46
|
var skipAppVersionUpdate: Bool { get }
|
47
|
+
|
48
|
+
/// Skip the HTML report file verification
|
17
49
|
var force: Bool { get }
|
50
|
+
|
51
|
+
/// Clear all previously uploaded screenshots before uploading the new ones
|
18
52
|
var overwriteScreenshots: Bool { get }
|
53
|
+
|
54
|
+
/// Submit the new version for Review after uploading everything
|
19
55
|
var submitForReview: Bool { get }
|
56
|
+
|
57
|
+
/// Rejects the previously submitted build if it's in a state where it's possible
|
20
58
|
var rejectIfPossible: Bool { get }
|
59
|
+
|
60
|
+
/// Should the app be automatically released once it's approved?
|
21
61
|
var automaticRelease: Bool { get }
|
62
|
+
|
63
|
+
/// Date in milliseconds for automatically releasing on pending approval
|
22
64
|
var autoReleaseDate: String? { get }
|
65
|
+
|
66
|
+
/// Enable the phased release feature of iTC
|
23
67
|
var phasedRelease: Bool { get }
|
68
|
+
|
69
|
+
/// Reset the summary rating when you release a new version of the application
|
24
70
|
var resetRatings: Bool { get }
|
71
|
+
|
72
|
+
/// The price tier of this application
|
25
73
|
var priceTier: String? { get }
|
74
|
+
|
75
|
+
/// Path to the app rating's config
|
26
76
|
var appRatingConfigPath: String? { get }
|
77
|
+
|
78
|
+
/// Extra information for the submission (e.g. compliance specifications, IDFA settings)
|
27
79
|
var submissionInformation: String? { get }
|
80
|
+
|
81
|
+
/// The ID of your App Store Connect team if you're in multiple teams
|
28
82
|
var teamId: String? { get }
|
83
|
+
|
84
|
+
/// The name of your App Store Connect team if you're in multiple teams
|
29
85
|
var teamName: String? { get }
|
86
|
+
|
87
|
+
/// The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
|
30
88
|
var devPortalTeamId: String? { get }
|
89
|
+
|
90
|
+
/// The name of your Developer Portal team if you're in multiple teams
|
31
91
|
var devPortalTeamName: String? { get }
|
92
|
+
|
93
|
+
/// 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
|
32
94
|
var itcProvider: String? { get }
|
95
|
+
|
96
|
+
/// Run precheck before submitting to app review
|
33
97
|
var runPrecheckBeforeSubmit: Bool { get }
|
98
|
+
|
99
|
+
/// The default precheck rule level unless otherwise configured
|
34
100
|
var precheckDefaultRuleLevel: String { get }
|
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
|
35
103
|
var individualMetadataItems: [String] { get }
|
104
|
+
|
105
|
+
/// Metadata: The path to the app icon
|
36
106
|
var appIcon: String? { get }
|
107
|
+
|
108
|
+
/// Metadata: The path to the Apple Watch app icon
|
37
109
|
var appleWatchAppIcon: String? { get }
|
110
|
+
|
111
|
+
/// Metadata: The copyright notice
|
38
112
|
var copyright: String? { get }
|
113
|
+
|
114
|
+
/// Metadata: The english name of the primary category (e.g. `Business`, `Books`)
|
39
115
|
var primaryCategory: String? { get }
|
116
|
+
|
117
|
+
/// Metadata: The english name of the secondary category (e.g. `Business`, `Books`)
|
40
118
|
var secondaryCategory: String? { get }
|
119
|
+
|
120
|
+
/// Metadata: The english name of the primary first sub category (e.g. `Educational`, `Puzzle`)
|
41
121
|
var primaryFirstSubCategory: String? { get }
|
122
|
+
|
123
|
+
/// Metadata: The english name of the primary second sub category (e.g. `Educational`, `Puzzle`)
|
42
124
|
var primarySecondSubCategory: String? { get }
|
125
|
+
|
126
|
+
/// Metadata: The english name of the secondary first sub category (e.g. `Educational`, `Puzzle`)
|
43
127
|
var secondaryFirstSubCategory: String? { get }
|
128
|
+
|
129
|
+
/// Metadata: The english name of the secondary second sub category (e.g. `Educational`, `Puzzle`)
|
44
130
|
var secondarySecondSubCategory: String? { get }
|
131
|
+
|
132
|
+
/// Metadata: A hash containing the trade representative contact information
|
45
133
|
var tradeRepresentativeContactInformation: [String : Any]? { get }
|
134
|
+
|
135
|
+
/// Metadata: A hash containing the review information
|
46
136
|
var appReviewInformation: [String : Any]? { get }
|
137
|
+
|
138
|
+
/// Metadata: Path to the app review attachment file
|
47
139
|
var appReviewAttachmentFile: String? { get }
|
140
|
+
|
141
|
+
/// Metadata: The localised app description
|
48
142
|
var description: String? { get }
|
143
|
+
|
144
|
+
/// Metadata: The localised app name
|
49
145
|
var name: String? { get }
|
146
|
+
|
147
|
+
/// Metadata: The localised app subtitle
|
50
148
|
var subtitle: [String : Any]? { get }
|
149
|
+
|
150
|
+
/// Metadata: An array of localised keywords
|
51
151
|
var keywords: [String : Any]? { get }
|
152
|
+
|
153
|
+
/// Metadata: An array of localised promotional texts
|
52
154
|
var promotionalText: [String : Any]? { get }
|
155
|
+
|
156
|
+
/// Metadata: Localised release notes for this version
|
53
157
|
var releaseNotes: String? { get }
|
158
|
+
|
159
|
+
/// Metadata: Localised privacy url
|
54
160
|
var privacyUrl: String? { get }
|
161
|
+
|
162
|
+
/// Metadata: Localised Apple TV privacy policy text
|
55
163
|
var appleTvPrivacyPolicy: String? { get }
|
164
|
+
|
165
|
+
/// Metadata: Localised support url
|
56
166
|
var supportUrl: String? { get }
|
167
|
+
|
168
|
+
/// Metadata: Localised marketing url
|
57
169
|
var marketingUrl: String? { get }
|
170
|
+
|
171
|
+
/// Metadata: List of languages to activate
|
58
172
|
var languages: [String]? { get }
|
173
|
+
|
174
|
+
/// Ignore errors when invalid languages are found in metadata and screenshot directories
|
59
175
|
var ignoreLanguageDirectoryValidation: Bool { get }
|
176
|
+
|
177
|
+
/// Should precheck check in-app purchases?
|
60
178
|
var precheckIncludeInAppPurchases: Bool { get }
|
179
|
+
|
180
|
+
/// The (spaceship) app ID of the app you want to use/modify
|
61
181
|
var app: String { get }
|
62
182
|
}
|
63
183
|
|
@@ -126,4 +246,4 @@ extension DeliverfileProtocol {
|
|
126
246
|
|
127
247
|
// Please don't remove the lines below
|
128
248
|
// They are used to detect outdated files
|
129
|
-
// FastlaneRunnerAPIVersion [0.9.
|
249
|
+
// FastlaneRunnerAPIVersion [0.9.18]
|