fastlane 2.132.0 → 2.133.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 695d000a1213e2308cfe825c9bcc8208af5e9733
4
- data.tar.gz: d69ecd0ca465f574ca3d0a5fd059fa8cf8b5140b
2
+ SHA256:
3
+ metadata.gz: f60586154ca46a8972940838fd1c842c4ea3d15710660ae67f6a1daa6e549725
4
+ data.tar.gz: 796c700b97db4495e2f108eec428ccb03dd6b2112fa8df8dcca3650165a00484
5
5
  SHA512:
6
- metadata.gz: a56c8c367b041464f2d6c14d946f1da6778d26aee8986060e3b2aefaa8c46deb9b97ad152c63eb7265c4c996374c2521caab7f9b32571a2f2f5b58a48f7251ea
7
- data.tar.gz: 81236a7e159bae18edf8d624c4c7758263d6c09c613fdd3f7bc2e30d3c5ec5e707a496341caf2731eebd77fec4287971085886f72081eeb954b3010288fb33b0
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='manu-wallner'>
44
- <a href='https://github.com/milch'>
45
- <img src='https://github.com/milch.png?size=140'>
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/acrooow'>Manu Wallner</a></h4>
53
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
48
54
  </td>
49
- <td id='aaron-brager'>
50
- <a href='https://github.com/getaaron'>
51
- <img src='https://github.com/getaaron.png?size=140'>
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/getaaron'>Aaron Brager</a></h4>
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='kohki-miki'>
70
- <a href='https://github.com/giginet'>
71
- <img src='https://github.com/giginet.png?size=140'>
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/giginet'>Kohki Miki</a></h4>
73
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
74
74
  </td>
75
- <td id='luka-mirosevic'>
76
- <a href='https://github.com/lmirosevic'>
77
- <img src='https://github.com/lmirosevic.png?size=140'>
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'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
79
+ <h4 align='center'>Jimmy Dee</h4>
80
80
  </td>
81
- <td id='josh-holtz'>
82
- <a href='https://github.com/joshdholtz'>
83
- <img src='https://github.com/joshdholtz.png?size=140'>
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/joshdholtz'>Josh Holtz</a></h4>
85
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
86
86
  </td>
87
- <td id='joshua-liebowitz'>
88
- <a href='https://github.com/taquitos'>
89
- <img src='https://github.com/taquitos.png?size=140'>
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/taquitos'>Joshua Liebowitz</a></h4>
91
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
92
92
  </td>
93
- <td id='jan-piotrowski'>
94
- <a href='https://github.com/janpio'>
95
- <img src='https://github.com/janpio.png?size=140'>
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/Sujan'>Jan Piotrowski</a></h4>
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='fumiya-nakamura'>
102
- <a href='https://github.com/nafu'>
103
- <img src='https://github.com/nafu.png?size=140'>
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'>Jimmy Dee</h4>
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='danielle-tomlinson'>
126
- <a href='https://github.com/endocrimes'>
127
- <img src='https://github.com/endocrimes.png?size=140'>
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/endocrimes'>Danielle Tomlinson</a></h4>
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='iulian-onofrei'>
140
- <a href='https://github.com/revolter'>
141
- <img src='https://github.com/revolter.png?size=140'>
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/lacostej'>Jérôme Lacoste</a></h4>
149
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
150
150
  </td>
151
- <td id='maksym-grebenets'>
152
- <a href='https://github.com/mgrebenets'>
153
- <img src='https://github.com/mgrebenets.png?size=140'>
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/mgrebenets'>Maksym Grebenets</a></h4>
155
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
156
156
  </td>
157
- <td id='andrew-mcburney'>
158
- <a href='https://github.com/armcburney'>
159
- <img src='https://github.com/armcburney.png?size=140'>
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/armcburney'>Andrew McBurney</a></h4>
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,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.132.0'.freeze
2
+ VERSION = '2.133.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
@@ -18,4 +18,4 @@ class Deliverfile: DeliverfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.132.0
21
+ // Generated with fastlane 2.133.0
@@ -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.8]
249
+ // FastlaneRunnerAPIVersion [0.9.18]