fastlane 2.191.0 → 2.194.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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +84 -84
  3. data/cert/lib/cert/options.rb +1 -1
  4. data/deliver/lib/deliver/options.rb +1 -1
  5. data/fastlane/lib/assets/completions/completion.bash +4 -1
  6. data/fastlane/lib/assets/completions/completion.zsh +6 -5
  7. data/fastlane/lib/fastlane/actions/.notarize.rb.swp +0 -0
  8. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
  9. data/fastlane/lib/fastlane/actions/create_xcframework.rb +97 -17
  10. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +1 -1
  11. data/fastlane/lib/fastlane/actions/gradle.rb +1 -1
  12. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
  13. data/fastlane/lib/fastlane/actions/notarize.rb +97 -12
  14. data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
  15. data/fastlane/lib/fastlane/actions/register_device.rb +1 -1
  16. data/fastlane/lib/fastlane/actions/register_devices.rb +1 -1
  17. data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
  18. data/fastlane/lib/fastlane/actions/slather.rb +6 -0
  19. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +1 -1
  20. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +3 -1
  21. data/fastlane/lib/fastlane/actions/zip.rb +5 -5
  22. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +11 -5
  23. data/fastlane/lib/fastlane/version.rb +1 -1
  24. data/fastlane/swift/Deliverfile.swift +1 -1
  25. data/fastlane/swift/DeliverfileProtocol.swift +2 -2
  26. data/fastlane/swift/Fastlane.swift +101 -43
  27. data/fastlane/swift/Gymfile.swift +1 -1
  28. data/fastlane/swift/GymfileProtocol.swift +1 -1
  29. data/fastlane/swift/Matchfile.swift +1 -1
  30. data/fastlane/swift/MatchfileProtocol.swift +3 -3
  31. data/fastlane/swift/Precheckfile.swift +1 -1
  32. data/fastlane/swift/PrecheckfileProtocol.swift +2 -2
  33. data/fastlane/swift/Scanfile.swift +1 -1
  34. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  35. data/fastlane/swift/Screengrabfile.swift +1 -1
  36. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  37. data/fastlane/swift/Snapshotfile.swift +1 -1
  38. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  39. data/fastlane/swift/formatting/Brewfile.lock.json +10 -10
  40. data/fastlane_core/lib/fastlane_core/build_watcher.rb +25 -6
  41. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +5 -0
  42. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +41 -0
  43. data/match/lib/match/options.rb +2 -2
  44. data/match/lib/match/runner.rb +10 -9
  45. data/pilot/lib/pilot/build_manager.rb +14 -4
  46. data/pilot/lib/pilot/manager.rb +3 -1
  47. data/pilot/lib/pilot/options.rb +21 -2
  48. data/precheck/lib/precheck/options.rb +1 -1
  49. data/produce/lib/produce/service.rb +1 -1
  50. data/sigh/lib/assets/resign.sh +1 -1
  51. data/sigh/lib/sigh/options.rb +1 -1
  52. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -1
  53. data/spaceship/lib/spaceship/connect_api/api_client.rb +15 -1
  54. data/spaceship/lib/spaceship/connect_api/models/app.rb +2 -1
  55. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -1
  56. data/spaceship/lib/spaceship/connect_api/models/build.rb +4 -0
  57. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
  58. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +7 -5
  59. data/spaceship/lib/spaceship/connect_api/token.rb +2 -0
  60. data/supply/lib/supply/client.rb +38 -5
  61. data/supply/lib/supply/options.rb +7 -0
  62. data/supply/lib/supply/uploader.rb +9 -6
  63. metadata +35 -20
@@ -64,7 +64,7 @@ module Fastlane
64
64
  ['SIGH_PROFILE_PATHS', 'Paths in which certificates, key and profile are exported'],
65
65
  ['SIGH_UUID', 'UUID (Universally Unique IDentifier) of a provisioning profile'],
66
66
  ['SIGH_NAME', 'The name of the profile'],
67
- ['SIGH_PROFILE_TYPE', 'The profile type, can be appstore, adhoc, development, enterprise']
67
+ ['SIGH_PROFILE_TYPE', 'The profile type, can be app-store, ad-hoc, development, enterprise, developer-id, can be used in `build_app` as a default value for `export_method`']
68
68
  ]
69
69
  end
70
70
 
@@ -64,7 +64,7 @@ module Fastlane
64
64
  print_command_output: params[:print_command_output])
65
65
 
66
66
  # If we didn't build, then we return now, as it makes no sense to search for apk's in a non-`assemble` or non-`build` scenario
67
- return result unless task =~ /\b(assemble)/ || task =~ /\b(bundle)/
67
+ return result unless gradle_task =~ /\b(assemble)/ || gradle_task =~ /\b(bundle)/
68
68
 
69
69
  apk_search_path = File.join(project_dir, '**', 'build', 'outputs', 'apk', '**', '*.apk')
70
70
  aab_search_path = File.join(project_dir, '**', 'build', 'outputs', 'bundle', '**', '*.aab')
@@ -47,7 +47,7 @@ module Fastlane
47
47
  end),
48
48
  FastlaneCore::ConfigItem.new(key: :api_key,
49
49
  env_names: ["APPSTORE_BUILD_NUMBER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
50
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
50
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
51
51
  type: Hash,
52
52
  optional: true,
53
53
  sensitive: true,
@@ -8,7 +8,14 @@ module Fastlane
8
8
  try_early_stapling = params[:try_early_stapling]
9
9
  print_log = params[:print_log]
10
10
  verbose = params[:verbose]
11
- api_key_path = params[:api_key_path]
11
+
12
+ # Only set :api_key from SharedValues if :api_key_path isn't set (conflicting options)
13
+ unless params[:api_key_path]
14
+ params[:api_key] ||= Actions.lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
15
+ end
16
+ api_key = Spaceship::ConnectAPI::Token.from(hash: params[:api_key], filepath: params[:api_key_path])
17
+
18
+ use_notarytool = params[:use_notarytool]
12
19
 
13
20
  # Compress and read bundle identifier only for .app bundle.
14
21
  compressed_package_path = nil
@@ -30,13 +37,79 @@ module Fastlane
30
37
 
31
38
  UI.user_error!('Could not read bundle identifier, provide as a parameter') unless bundle_id
32
39
 
40
+ if use_notarytool
41
+ notarytool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key, compressed_package_path)
42
+ else
43
+ altool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key, compressed_package_path)
44
+ end
45
+ end
46
+
47
+ def self.notarytool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key, compressed_package_path)
48
+ temp_file = nil
49
+
50
+ # Create authorization part of command with either API Key or Apple ID
51
+ auth_parts = []
52
+ if api_key
53
+ # Writes key contents to temporary file for command
54
+ require 'tempfile'
55
+ temp_file = Tempfile.new
56
+ api_key.write_key_to_file(temp_file.path)
57
+
58
+ auth_parts << "--key #{temp_file.path}"
59
+ auth_parts << "--key-id #{api_key.key_id}"
60
+ auth_parts << "--issuer #{api_key.issuer_id}"
61
+ else
62
+ auth_parts << "--apple-id #{params[:username]}"
63
+ auth_parts << "--password #{ENV['FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD']}"
64
+ auth_parts << "--team-id #{params[:asc_provider]}"
65
+ end
66
+
67
+ # Submits package and waits for processing using `xcrun notarytool submit --wait`
68
+ submit_parts = [
69
+ "xcrun notarytool submit",
70
+ (compressed_package_path || package_path).shellescape,
71
+ "--output-format json",
72
+ "--wait"
73
+ ] + auth_parts
74
+
75
+ submit_command = submit_parts.join(' ')
76
+ submit_response = Actions.sh(
77
+ submit_command,
78
+ log: verbose,
79
+ error_callback: lambda { |msg|
80
+ UI.error("Error polling for notarization info: #{msg}")
81
+ }
82
+ )
83
+
84
+ notarization_info = JSON.parse(submit_response)
85
+
86
+ # Staple
87
+ case notarization_info['status']
88
+ when 'Accepted'
89
+ submission_id = notarization_info["id"]
90
+ UI.success("Successfully uploaded package to notarization service with request identifier #{submission_id}")
91
+
92
+ UI.message('Stapling package')
93
+ self.staple(package_path, verbose)
94
+
95
+ UI.success("Successfully notarized and stapled package")
96
+ when 'Invalid'
97
+ UI.user_error!("Could not notarize package with message '#{notarization_info['statusSummary']}'")
98
+ else
99
+ UI.crash!("Could not notarize package with status '#{notarization_info['status']}'")
100
+ end
101
+ ensure
102
+ temp_file.delete if temp_file
103
+ end
104
+
105
+ def self.altool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key, compressed_package_path)
33
106
  UI.message('Uploading package to notarization service, might take a while')
34
107
 
35
108
  notarization_upload_command = "xcrun altool --notarize-app -t osx -f \"#{compressed_package_path || package_path}\" --primary-bundle-id #{bundle_id} --output-format xml"
36
109
 
37
110
  notarization_info = {}
38
- with_notarize_authenticator(params, api_key_path) do |notarize_authenticator|
39
- notarization_upload_command << " --asc-provider \"#{params[:asc_provider]}\"" if params[:asc_provider] && api_key_path.nil?
111
+ with_notarize_authenticator(params, api_key) do |notarize_authenticator|
112
+ notarization_upload_command << " --asc-provider \"#{params[:asc_provider]}\"" if params[:asc_provider] && api_key.nil?
40
113
 
41
114
  notarization_upload_response = Actions.sh(
42
115
  notarize_authenticator.call(notarization_upload_command),
@@ -125,16 +198,15 @@ module Fastlane
125
198
 
126
199
  def self.staple(package_path, verbose)
127
200
  Actions.sh(
128
- "xcrun stapler staple \"#{package_path}\"",
201
+ "xcrun stapler staple #{package_path.shellescape}",
129
202
  log: verbose
130
203
  )
131
204
  end
132
205
 
133
- def self.with_notarize_authenticator(params, api_key_path)
134
- if api_key_path
206
+ def self.with_notarize_authenticator(params, api_key)
207
+ if api_key
135
208
  # From xcrun altool for --apiKey:
136
209
  # This option will search the following directories in sequence for a private key file with the name of 'AuthKey_<api_key>.p8': './private_keys', '~/private_keys', '~/.private_keys', and '~/.appstoreconnect/private_keys'.
137
- api_key = Spaceship::ConnectAPI::Token.from_json_file(api_key_path)
138
210
  api_key_folder_path = File.expand_path('~/.appstoreconnect/private_keys')
139
211
  api_key_file_path = File.join(api_key_folder_path, "AuthKey_#{api_key.key_id}.p8")
140
212
  directory_exists = File.directory?(api_key_folder_path)
@@ -180,6 +252,12 @@ module Fastlane
180
252
  verify_block: proc do |value|
181
253
  UI.user_error!("Could not find package at '#{value}'") unless File.exist?(value)
182
254
  end),
255
+ FastlaneCore::ConfigItem.new(key: :use_notarytool,
256
+ env_name: 'FL_NOTARIZE_USE_NOTARYTOOL',
257
+ description: 'Whether to `xcrun notarytool` or `xcrun altool`',
258
+ default_value: Helper.mac? && Helper.xcode_at_least?("13.0"), # Notary tool added in Xcode 13
259
+ default_value_dynamic: true,
260
+ type: Boolean),
183
261
  FastlaneCore::ConfigItem.new(key: :try_early_stapling,
184
262
  env_name: 'FL_NOTARIZE_TRY_EARLY_STAPLING',
185
263
  description: 'Whether to try early stapling while the notarization request is in progress',
@@ -195,7 +273,7 @@ module Fastlane
195
273
  description: 'Apple ID username',
196
274
  default_value: username,
197
275
  optional: true,
198
- conflicting_options: [:api_key_path],
276
+ conflicting_options: [:api_key_path, :api_key],
199
277
  default_value_dynamic: true),
200
278
  FastlaneCore::ConfigItem.new(key: :asc_provider,
201
279
  env_name: 'FL_NOTARIZE_ASC_PROVIDER',
@@ -215,13 +293,20 @@ module Fastlane
215
293
  default_value: false,
216
294
  type: Boolean),
217
295
  FastlaneCore::ConfigItem.new(key: :api_key_path,
218
- env_name: 'FL_NOTARIZE_API_KEY_PATH',
219
- description: 'Path to AppStore Connect API key',
296
+ env_names: ['FL_NOTARIZE_API_KEY_PATH', "APP_STORE_CONNECT_API_KEY_PATH"],
297
+ description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
220
298
  optional: true,
221
- conflicting_options: [:username],
299
+ conflicting_options: [:username, :api_key],
222
300
  verify_block: proc do |value|
223
301
  UI.user_error!("API Key not found at '#{value}'") unless File.exist?(value)
224
- end)
302
+ end),
303
+ FastlaneCore::ConfigItem.new(key: :api_key,
304
+ env_names: ['FL_NOTARIZE_API_KEY', "APP_STORE_CONNECT_API_KEY"],
305
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
306
+ optional: true,
307
+ conflicting_options: [:username, :api_key_path],
308
+ sensitive: true,
309
+ type: Hash)
225
310
  ]
226
311
  end
227
312
 
@@ -9,7 +9,7 @@ module Fastlane
9
9
  ]
10
10
 
11
11
  if params[:tag]
12
- command << "refs/tags/#{params[:tag]}"
12
+ command << "refs/tags/#{params[:tag].shellescape}"
13
13
  else
14
14
  command << '--tags'
15
15
  end
@@ -73,7 +73,7 @@ module Fastlane
73
73
  end),
74
74
  FastlaneCore::ConfigItem.new(key: :api_key,
75
75
  env_names: ["FL_REGISTER_DEVICE_API_KEY", "APP_STORE_CONNECT_API_KEY"],
76
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
76
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
77
77
  type: Hash,
78
78
  default_value: Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::APP_STORE_CONNECT_API_KEY],
79
79
  default_value_dynamic: true,
@@ -121,7 +121,7 @@ module Fastlane
121
121
  end),
122
122
  FastlaneCore::ConfigItem.new(key: :api_key,
123
123
  env_names: ["FL_REGISTER_DEVICES_API_KEY", "APP_STORE_CONNECT_API_KEY"],
124
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
124
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
125
125
  type: Hash,
126
126
  default_value: Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::APP_STORE_CONNECT_API_KEY],
127
127
  default_value_dynamic: true,
@@ -115,7 +115,7 @@ module Fastlane
115
115
  end),
116
116
  FastlaneCore::ConfigItem.new(key: :api_key,
117
117
  env_names: ["FL_SET_CHANGELOG_API_KEY", "APP_STORE_CONNECT_API_KEY"],
118
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
118
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
119
119
  type: Hash,
120
120
  default_value: Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::APP_STORE_CONNECT_API_KEY],
121
121
  default_value_dynamic: true,
@@ -9,6 +9,7 @@ module Fastlane
9
9
  jenkins: '--jenkins',
10
10
  buildkite: '--buildkite',
11
11
  teamcity: '--teamcity',
12
+ github: '--github',
12
13
 
13
14
  coveralls: '--coveralls',
14
15
  simple_output: '--simple-output',
@@ -155,6 +156,11 @@ module Fastlane
155
156
  env_name: "FL_SLATHER_INPUT_FORMAT", # The name of the environment variable
156
157
  description: "The input format that slather should look for",
157
158
  optional: true),
159
+ FastlaneCore::ConfigItem.new(key: :github,
160
+ env_name: "FL_SLATHER_GITHUB_ENABLED", # The name of the environment variable
161
+ description: "Tell slather that it is running on Github Actions",
162
+ type: Boolean,
163
+ optional: true),
158
164
  FastlaneCore::ConfigItem.new(key: :buildkite,
159
165
  env_name: "FL_SLATHER_BUILDKITE_ENABLED", # The name of the environment variable
160
166
  description: "Tell slather that it is running on Buildkite",
@@ -82,7 +82,7 @@ module Fastlane
82
82
  def self.output
83
83
  [
84
84
  ['MATCH_PROVISIONING_PROFILE_MAPPING', 'The match provisioning profile mapping'],
85
- ['SIGH_PROFILE_TYPE', 'The profile type, can be appstore, adhoc, development, enterprise']
85
+ ['SIGH_PROFILE_TYPE', 'The profile type, can be app-store, ad-hoc, development, enterprise, can be used in `build_app` as a default value for `export_method`']
86
86
  ]
87
87
  end
88
88
 
@@ -13,6 +13,8 @@ module Fastlane
13
13
  unless distribute_only
14
14
  values[:ipa] ||= Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]
15
15
  values[:ipa] = File.expand_path(values[:ipa]) if values[:ipa]
16
+ values[:pkg] ||= Actions.lane_context[SharedValues::PKG_OUTPUT_PATH]
17
+ values[:pkg] = File.expand_path(values[:pkg]) if values[:pkg]
16
18
  end
17
19
 
18
20
  # Only set :api_key from SharedValues if :api_key_path isn't set (conflicting options)
@@ -117,7 +119,7 @@ module Fastlane
117
119
  end
118
120
 
119
121
  def self.is_supported?(platform)
120
- [:ios].include?(platform)
122
+ [:ios, :mac, :tvos].include?(platform)
121
123
  end
122
124
  end
123
125
  end
@@ -10,8 +10,8 @@ module Fastlane
10
10
  @verbose = params[:verbose]
11
11
  @password = params[:password]
12
12
  @symlinks = params[:symlinks]
13
- @include = params[:include]
14
- @exclude = params[:exclude]
13
+ @include = params[:include] || []
14
+ @exclude = params[:exclude] || []
15
15
 
16
16
  @output_path += ".zip" unless @output_path.end_with?(".zip")
17
17
  end
@@ -34,7 +34,7 @@ module Fastlane
34
34
  def run_zip_command
35
35
  # The 'zip' command archives relative to the working directory, chdir to produce expected results relative to `path`
36
36
  Dir.chdir(File.expand_path("..", path)) do
37
- Actions.sh(zip_command)
37
+ Actions.sh(*zip_command)
38
38
  end
39
39
  end
40
40
 
@@ -52,8 +52,8 @@ module Fastlane
52
52
  # The zip command is executed from the paths **parent** directory, as a result we use just the basename, which is the file or folder within
53
53
  basename = File.basename(path)
54
54
 
55
- command << output_path.shellescape
56
- command << basename.shellescape
55
+ command << output_path
56
+ command << basename
57
57
 
58
58
  unless include.empty?
59
59
  command << "-i"
@@ -134,15 +134,17 @@ module Fastlane
134
134
  require 'yaml'
135
135
  FileUtils.mkdir_p(target_path)
136
136
  docs_dir = File.join(target_path, "docs")
137
+ generated_actions_dir = File.join("generated", "actions")
138
+ FileUtils.mkdir_p(File.join(docs_dir, generated_actions_dir))
137
139
 
138
140
  # Generate actions.md
139
141
  template = File.join(Fastlane::ROOT, "lib/assets/Actions.md.erb")
140
142
  result = ERB.new(File.read(template), 0, '-').result(binding) # https://web.archive.org/web/20160430190141/www.rrn.dk/rubys-erb-templating-system
141
- File.write(File.join(docs_dir, "actions.md"), result)
143
+ File.write(File.join(docs_dir, "generated", "actions.md"), result)
142
144
 
143
- # Generate actions sub pages (e.g. actions/slather.md, actions/scan.md)
145
+ # Generate actions sub pages (e.g. generated/actions/slather.md, generated/actions/scan.md)
144
146
  all_actions_ref_yml = []
145
- FileUtils.mkdir_p(File.join(docs_dir, "actions"))
147
+ FileUtils.mkdir_p(File.join(docs_dir, generated_actions_dir))
146
148
  ActionsList.all_actions do |action|
147
149
  @action = action # to provide a reference in the .html.erb template
148
150
  @action_filename = filename_for_action(action)
@@ -165,10 +167,14 @@ module Fastlane
165
167
  template = File.join(Fastlane::ROOT, "lib/assets/ActionDetails.md.erb")
166
168
  result = ERB.new(File.read(template), 0, '-').result(binding) # https://web.archive.org/web/20160430190141/www.rrn.dk/rubys-erb-templating-system
167
169
 
168
- file_name = File.join("actions", "#{action.action_name}.md")
170
+ # Actions get placed in "generated/actions" directory
171
+ file_name = File.join(generated_actions_dir, "#{action.action_name}.md")
169
172
  File.write(File.join(docs_dir, file_name), result)
170
173
 
171
- all_actions_ref_yml << { action.action_name => file_name }
174
+ # The action pages when published get moved to the "actions" directory
175
+ # The mkdocs.yml file needs to reference the "actions" directory (not the "generated/actions" directory)
176
+ published_file_name = File.join("actions", "#{action.action_name}.md")
177
+ all_actions_ref_yml << { action.action_name => published_file_name }
172
178
  end
173
179
 
174
180
  # Modify the mkdocs.yml to list all the actions
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.191.0'.freeze
2
+ VERSION = '2.194.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 = '1.12.1'.freeze
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.191.0
20
+ // Generated with fastlane 2.194.0
@@ -5,7 +5,7 @@ public protocol DeliverfileProtocol: class {
5
5
  /// Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
6
6
  var apiKeyPath: String? { get }
7
7
 
8
- /// Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
8
+ /// Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
9
9
  var apiKey: [String: Any]? { get }
10
10
 
11
11
  /// Your Apple ID Username
@@ -260,4 +260,4 @@ public extension DeliverfileProtocol {
260
260
 
261
261
  // Please don't remove the lines below
262
262
  // They are used to detect outdated files
263
- // FastlaneRunnerAPIVersion [0.9.79]
263
+ // FastlaneRunnerAPIVersion [0.9.83]
@@ -133,7 +133,7 @@ public func addGitTag(tag: OptionalConfigValue<String?> = .fastlaneDefault(nil),
133
133
 
134
134
  - parameters:
135
135
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
136
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
136
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
137
137
  - initialBuildNumber: sets the build number to given value if no build is in current train
138
138
  - appIdentifier: The bundle identifier of your app
139
139
  - username: Your Apple ID Username
@@ -643,7 +643,7 @@ public func appledoc(input: [String],
643
643
 
644
644
  - parameters:
645
645
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
646
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
646
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
647
647
  - username: Your Apple ID Username
648
648
  - appIdentifier: The bundle identifier of your app
649
649
  - appVersion: The version that should be edited or created
@@ -2588,7 +2588,7 @@ public func carthage(command: String = "bootstrap",
2588
2588
  - force: Create a certificate even if an existing certificate exists
2589
2589
  - generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
2590
2590
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
2591
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
2591
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
2592
2592
  - username: Your Apple ID Username
2593
2593
  - teamId: The ID of your Developer Portal team if you're in multiple teams
2594
2594
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -2752,7 +2752,7 @@ public func chatwork(apiToken: String,
2752
2752
 
2753
2753
  - parameters:
2754
2754
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
2755
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
2755
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
2756
2756
  - appIdentifier: The bundle identifier of your app
2757
2757
  - username: Your Apple ID Username
2758
2758
  - teamId: The ID of your App Store Connect team if you're in multiple teams
@@ -3504,37 +3504,63 @@ public func createPullRequest(apiToken: OptionalConfigValue<String?> = .fastlane
3504
3504
  Package multiple build configs of a library/framework into a single xcframework
3505
3505
 
3506
3506
  - parameters:
3507
- - frameworks: Frameworks to add to the target xcframework
3508
- - libraries: Libraries to add to the target xcframework, with their corresponding headers
3507
+ - frameworks: Frameworks (without dSYMs) to add to the target xcframework
3508
+ - frameworksWithDsyms: Frameworks (with dSYMs) to add to the target xcframework
3509
+ - libraries: Libraries (without headers or dSYMs) to add to the target xcframework
3510
+ - librariesWithHeadersOrDsyms: Libraries (with headers or dSYMs) to add to the target xcframework
3509
3511
  - output: The path to write the xcframework to
3510
3512
  - allowInternalDistribution: Specifies that the created xcframework contains information not suitable for public distribution
3511
3513
 
3512
3514
  Utility for packaging multiple build configurations of a given library
3513
3515
  or framework into a single xcframework.
3514
3516
 
3515
- If you want to package several frameworks just provide an array containing
3516
- the list of frameworks to be packaged using the :frameworks parameter.
3517
+ If you want to package several frameworks just provide one of:
3517
3518
 
3518
- If you want to package several libraries with their corresponding headers
3519
- provide a hash containing the library as the key and the directory containing
3520
- its headers as the value (or an empty string if there are no headers associated
3521
- with the provided library).
3519
+ * An array containing the list of frameworks using the :frameworks parameter
3520
+ (if they have no associated dSYMs):
3521
+ ['FrameworkA.framework', 'FrameworkB.framework']
3522
+
3523
+ * A hash containing the list of frameworks with their dSYMs using the
3524
+ :frameworks_with_dsyms parameter:
3525
+ {
3526
+ 'FrameworkA.framework' => {},
3527
+ 'FrameworkB.framework' => { dsyms: 'FrameworkB.framework.dSYM' }
3528
+ }
3529
+
3530
+ If you want to package several libraries just provide one of:
3531
+
3532
+ * An array containing the list of libraries using the :libraries parameter
3533
+ (if they have no associated headers or dSYMs):
3534
+ ['LibraryA.so', 'LibraryB.so']
3535
+
3536
+ * A hash containing the list of libraries with their headers and dSYMs
3537
+ using the :libraries_with_headers_or_dsyms parameter:
3538
+ {
3539
+ 'LibraryA.so' => { dsyms: 'libraryA.so.dSYM' },
3540
+ 'LibraryB.so' => { headers: 'headers' }
3541
+ }
3522
3542
 
3523
3543
  Finally specify the location of the xcframework to be generated using the :output
3524
3544
  parameter.
3525
3545
 
3526
3546
  */
3527
3547
  public func createXcframework(frameworks: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
3528
- libraries: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
3548
+ frameworksWithDsyms: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
3549
+ libraries: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
3550
+ librariesWithHeadersOrDsyms: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
3529
3551
  output: String,
3530
3552
  allowInternalDistribution: OptionalConfigValue<Bool> = .fastlaneDefault(false))
3531
3553
  {
3532
3554
  let frameworksArg = frameworks.asRubyArgument(name: "frameworks", type: nil)
3555
+ let frameworksWithDsymsArg = frameworksWithDsyms.asRubyArgument(name: "frameworks_with_dsyms", type: nil)
3533
3556
  let librariesArg = libraries.asRubyArgument(name: "libraries", type: nil)
3557
+ let librariesWithHeadersOrDsymsArg = librariesWithHeadersOrDsyms.asRubyArgument(name: "libraries_with_headers_or_dsyms", type: nil)
3534
3558
  let outputArg = RubyCommand.Argument(name: "output", value: output, type: nil)
3535
3559
  let allowInternalDistributionArg = allowInternalDistribution.asRubyArgument(name: "allow_internal_distribution", type: nil)
3536
3560
  let array: [RubyCommand.Argument?] = [frameworksArg,
3561
+ frameworksWithDsymsArg,
3537
3562
  librariesArg,
3563
+ librariesWithHeadersOrDsymsArg,
3538
3564
  outputArg,
3539
3565
  allowInternalDistributionArg]
3540
3566
  let args: [RubyCommand.Argument] = array
@@ -3654,7 +3680,7 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
3654
3680
 
3655
3681
  - parameters:
3656
3682
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
3657
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
3683
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
3658
3684
  - username: Your Apple ID Username
3659
3685
  - appIdentifier: The bundle identifier of your app
3660
3686
  - appVersion: The version that should be edited or created
@@ -4684,7 +4710,7 @@ public func getBuildNumberRepository(useHgRevisionNumber: OptionalConfigValue<Bo
4684
4710
  - force: Create a certificate even if an existing certificate exists
4685
4711
  - generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
4686
4712
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
4687
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
4713
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
4688
4714
  - username: Your Apple ID Username
4689
4715
  - teamId: The ID of your Developer Portal team if you're in multiple teams
4690
4716
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -4914,7 +4940,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
4914
4940
  - force: Renew provisioning profiles regardless of its state - to automatically add all devices for ad hoc profiles
4915
4941
  - appIdentifier: The bundle identifier of your app
4916
4942
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
4917
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
4943
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
4918
4944
  - username: Your Apple ID Username
4919
4945
  - teamId: The ID of your Developer Portal team if you're in multiple teams
4920
4946
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -6402,7 +6428,7 @@ public func jazzy(config: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6402
6428
 
6403
6429
  - parameters:
6404
6430
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
6405
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
6431
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
6406
6432
  - live: Query the live version (ready-for-sale)
6407
6433
  - appIdentifier: The bundle identifier of your app
6408
6434
  - username: Your Apple ID Username
@@ -6595,7 +6621,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
6595
6621
  - skipProvisioningProfiles: Skip syncing provisioning profiles
6596
6622
  - appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings)
6597
6623
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
6598
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
6624
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
6599
6625
  - username: Your Apple ID Username
6600
6626
  - teamId: The ID of your Developer Portal team if you're in multiple teams
6601
6627
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -6620,7 +6646,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
6620
6646
  - keychainName: Keychain the items should be imported to
6621
6647
  - keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
6622
6648
  - force: Renew the provisioning profiles every time you run match
6623
- - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile type 'appstore'
6649
+ - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
6624
6650
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
6625
6651
  - skipDocs: Skip generation of a README.md for the created git repository
6626
6652
  - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
@@ -6786,7 +6812,7 @@ public func match(type: String = matchfile.type,
6786
6812
  - skipProvisioningProfiles: Skip syncing provisioning profiles
6787
6813
  - appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings)
6788
6814
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
6789
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
6815
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
6790
6816
  - username: Your Apple ID Username
6791
6817
  - teamId: The ID of your Developer Portal team if you're in multiple teams
6792
6818
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -6811,7 +6837,7 @@ public func match(type: String = matchfile.type,
6811
6837
  - keychainName: Keychain the items should be imported to
6812
6838
  - keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
6813
6839
  - force: Renew the provisioning profiles every time you run match
6814
- - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile type 'appstore'
6840
+ - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
6815
6841
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
6816
6842
  - skipDocs: Skip generation of a README.md for the created git repository
6817
6843
  - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
@@ -7103,24 +7129,29 @@ public func nexusUpload(file: String,
7103
7129
 
7104
7130
  - parameters:
7105
7131
  - package: Path to package to notarize, e.g. .app bundle or disk image
7132
+ - useNotarytool: Whether to `xcrun notarytool` or `xcrun altool`
7106
7133
  - tryEarlyStapling: Whether to try early stapling while the notarization request is in progress
7107
7134
  - bundleId: Bundle identifier to uniquely identify the package
7108
7135
  - username: Apple ID username
7109
7136
  - ascProvider: Provider short name for accounts associated with multiple providers
7110
7137
  - printLog: Whether to print notarization log file, listing issues on failure and warnings on success
7111
7138
  - verbose: Whether to log requests
7112
- - apiKeyPath: Path to AppStore Connect API key
7139
+ - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
7140
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
7113
7141
  */
7114
7142
  public func notarize(package: String,
7143
+ useNotarytool: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7115
7144
  tryEarlyStapling: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7116
7145
  bundleId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7117
7146
  username: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7118
7147
  ascProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7119
7148
  printLog: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7120
7149
  verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7121
- apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil))
7150
+ apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7151
+ apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil))
7122
7152
  {
7123
7153
  let packageArg = RubyCommand.Argument(name: "package", value: package, type: nil)
7154
+ let useNotarytoolArg = useNotarytool.asRubyArgument(name: "use_notarytool", type: nil)
7124
7155
  let tryEarlyStaplingArg = tryEarlyStapling.asRubyArgument(name: "try_early_stapling", type: nil)
7125
7156
  let bundleIdArg = bundleId.asRubyArgument(name: "bundle_id", type: nil)
7126
7157
  let usernameArg = username.asRubyArgument(name: "username", type: nil)
@@ -7128,14 +7159,17 @@ public func notarize(package: String,
7128
7159
  let printLogArg = printLog.asRubyArgument(name: "print_log", type: nil)
7129
7160
  let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
7130
7161
  let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
7162
+ let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
7131
7163
  let array: [RubyCommand.Argument?] = [packageArg,
7164
+ useNotarytoolArg,
7132
7165
  tryEarlyStaplingArg,
7133
7166
  bundleIdArg,
7134
7167
  usernameArg,
7135
7168
  ascProviderArg,
7136
7169
  printLogArg,
7137
7170
  verboseArg,
7138
- apiKeyPathArg]
7171
+ apiKeyPathArg,
7172
+ apiKeyArg]
7139
7173
  let args: [RubyCommand.Argument] = array
7140
7174
  .filter { $0?.value != nil }
7141
7175
  .compactMap { $0 }
@@ -7472,12 +7506,13 @@ public func pem(development: OptionalConfigValue<Bool> = .fastlaneDefault(false)
7472
7506
 
7473
7507
  - parameters:
7474
7508
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
7475
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
7509
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
7476
7510
  - username: Your Apple ID Username
7477
7511
  - appIdentifier: The bundle identifier of the app to upload or manage testers (optional)
7478
7512
  - appPlatform: The platform to use (optional)
7479
7513
  - appleId: Apple ID property in the App Information section in App Store Connect
7480
7514
  - ipa: Path to the ipa file to upload
7515
+ - pkg: Path to your pkg file
7481
7516
  - demoAccountRequired: Do you need a demo account when Apple does review?
7482
7517
  - betaAppReviewInfo: Beta app review information for contact info and demo account
7483
7518
  - localizedAppInfo: Localized beta app test info for description, feedback email, marketing url, and privacy policy
@@ -7516,9 +7551,10 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
7516
7551
  apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
7517
7552
  username: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7518
7553
  appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7519
- appPlatform: String = "ios",
7554
+ appPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7520
7555
  appleId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7521
7556
  ipa: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7557
+ pkg: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7522
7558
  demoAccountRequired: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
7523
7559
  betaAppReviewInfo: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
7524
7560
  localizedAppInfo: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
@@ -7554,9 +7590,10 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
7554
7590
  let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
7555
7591
  let usernameArg = username.asRubyArgument(name: "username", type: nil)
7556
7592
  let appIdentifierArg = appIdentifier.asRubyArgument(name: "app_identifier", type: nil)
7557
- let appPlatformArg = RubyCommand.Argument(name: "app_platform", value: appPlatform, type: nil)
7593
+ let appPlatformArg = appPlatform.asRubyArgument(name: "app_platform", type: nil)
7558
7594
  let appleIdArg = appleId.asRubyArgument(name: "apple_id", type: nil)
7559
7595
  let ipaArg = ipa.asRubyArgument(name: "ipa", type: nil)
7596
+ let pkgArg = pkg.asRubyArgument(name: "pkg", type: nil)
7560
7597
  let demoAccountRequiredArg = demoAccountRequired.asRubyArgument(name: "demo_account_required", type: nil)
7561
7598
  let betaAppReviewInfoArg = betaAppReviewInfo.asRubyArgument(name: "beta_app_review_info", type: nil)
7562
7599
  let localizedAppInfoArg = localizedAppInfo.asRubyArgument(name: "localized_app_info", type: nil)
@@ -7594,6 +7631,7 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
7594
7631
  appPlatformArg,
7595
7632
  appleIdArg,
7596
7633
  ipaArg,
7634
+ pkgArg,
7597
7635
  demoAccountRequiredArg,
7598
7636
  betaAppReviewInfoArg,
7599
7637
  localizedAppInfoArg,
@@ -7866,7 +7904,7 @@ public func podioItem(clientId: String,
7866
7904
 
7867
7905
  - parameters:
7868
7906
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
7869
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
7907
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
7870
7908
  - appIdentifier: The bundle identifier of your app
7871
7909
  - username: Your Apple ID Username
7872
7910
  - teamId: The ID of your App Store Connect team if you're in multiple teams
@@ -8204,7 +8242,7 @@ public func recreateSchemes(project: String) {
8204
8242
  - platform: Provide the platform of the device to register as (ios, mac)
8205
8243
  - udid: Provide the UDID of the device to register as
8206
8244
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
8207
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
8245
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
8208
8246
  - teamId: The ID of your Developer Portal team if you're in multiple teams
8209
8247
  - teamName: The name of your Developer Portal team if you're in multiple teams
8210
8248
  - username: Optional: Your Apple ID
@@ -8252,7 +8290,7 @@ public func recreateSchemes(project: String) {
8252
8290
  - devices: A hash of devices, with the name as key and the UDID as value
8253
8291
  - devicesFile: Provide a path to a file with the devices to register. For the format of the file see the examples
8254
8292
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
8255
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
8293
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
8256
8294
  - teamId: The ID of your Developer Portal team if you're in multiple teams
8257
8295
  - teamName: The name of your Developer Portal team if you're in multiple teams
8258
8296
  - username: Optional: Your Apple ID
@@ -9371,7 +9409,7 @@ public func setBuildNumberRepository(useHgRevisionNumber: OptionalConfigValue<Bo
9371
9409
 
9372
9410
  - parameters:
9373
9411
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
9374
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
9412
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
9375
9413
  - appIdentifier: The bundle identifier of your app
9376
9414
  - username: Your Apple ID Username
9377
9415
  - version: The version number to create/update
@@ -9725,7 +9763,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
9725
9763
  - force: Renew provisioning profiles regardless of its state - to automatically add all devices for ad hoc profiles
9726
9764
  - appIdentifier: The bundle identifier of your app
9727
9765
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
9728
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
9766
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
9729
9767
  - username: Your Apple ID Username
9730
9768
  - teamId: The ID of your Developer Portal team if you're in multiple teams
9731
9769
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -9960,6 +9998,7 @@ public func slackTrainStart(distance: Int = 5,
9960
9998
  - scheme: Scheme to use when calling slather
9961
9999
  - configuration: Configuration to use when calling slather (since slather-2.4.1)
9962
10000
  - inputFormat: The input format that slather should look for
10001
+ - github: Tell slather that it is running on Github Actions
9963
10002
  - buildkite: Tell slather that it is running on Buildkite
9964
10003
  - teamcity: Tell slather that it is running on TeamCity
9965
10004
  - jenkins: Tell slather that it is running on Jenkins
@@ -9995,6 +10034,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
9995
10034
  scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
9996
10035
  configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
9997
10036
  inputFormat: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10037
+ github: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
9998
10038
  buildkite: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
9999
10039
  teamcity: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
10000
10040
  jenkins: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
@@ -10027,6 +10067,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10027
10067
  let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
10028
10068
  let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
10029
10069
  let inputFormatArg = inputFormat.asRubyArgument(name: "input_format", type: nil)
10070
+ let githubArg = github.asRubyArgument(name: "github", type: nil)
10030
10071
  let buildkiteArg = buildkite.asRubyArgument(name: "buildkite", type: nil)
10031
10072
  let teamcityArg = teamcity.asRubyArgument(name: "teamcity", type: nil)
10032
10073
  let jenkinsArg = jenkins.asRubyArgument(name: "jenkins", type: nil)
@@ -10058,6 +10099,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10058
10099
  schemeArg,
10059
10100
  configurationArg,
10060
10101
  inputFormatArg,
10102
+ githubArg,
10061
10103
  buildkiteArg,
10062
10104
  teamcityArg,
10063
10105
  jenkinsArg,
@@ -10672,6 +10714,7 @@ public func ssh(username: String,
10672
10714
  - deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
10673
10715
  - versionCodesToRetain: An array of version codes to retain when publishing a new APK
10674
10716
  - changesNotSentForReview: Indicates that the changes in this edit will not be reviewed until they are explicitly sent for review from the Google Play Console UI
10717
+ - rescueChangesNotSentForReview: Catches changes_not_sent_for_review errors when an edit is committed and retries with the configuration that the error message recommended
10675
10718
  - inAppUpdatePriority: In-app update priority for all the newly added apks in the release. Can take values between [0,5]
10676
10719
  - obbMainReferencesVersion: References version of 'main' expansion file
10677
10720
  - obbMainFileSize: Size of 'main' expansion file in bytes
@@ -10712,6 +10755,7 @@ public func supply(packageName: String,
10712
10755
  deactivateOnPromote: OptionalConfigValue<Bool> = .fastlaneDefault(true),
10713
10756
  versionCodesToRetain: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
10714
10757
  changesNotSentForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10758
+ rescueChangesNotSentForReview: OptionalConfigValue<Bool> = .fastlaneDefault(true),
10715
10759
  inAppUpdatePriority: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
10716
10760
  obbMainReferencesVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10717
10761
  obbMainFileSize: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -10750,6 +10794,7 @@ public func supply(packageName: String,
10750
10794
  let deactivateOnPromoteArg = deactivateOnPromote.asRubyArgument(name: "deactivate_on_promote", type: nil)
10751
10795
  let versionCodesToRetainArg = versionCodesToRetain.asRubyArgument(name: "version_codes_to_retain", type: nil)
10752
10796
  let changesNotSentForReviewArg = changesNotSentForReview.asRubyArgument(name: "changes_not_sent_for_review", type: nil)
10797
+ let rescueChangesNotSentForReviewArg = rescueChangesNotSentForReview.asRubyArgument(name: "rescue_changes_not_sent_for_review", type: nil)
10753
10798
  let inAppUpdatePriorityArg = inAppUpdatePriority.asRubyArgument(name: "in_app_update_priority", type: nil)
10754
10799
  let obbMainReferencesVersionArg = obbMainReferencesVersion.asRubyArgument(name: "obb_main_references_version", type: nil)
10755
10800
  let obbMainFileSizeArg = obbMainFileSize.asRubyArgument(name: "obb_main_file_size", type: nil)
@@ -10787,6 +10832,7 @@ public func supply(packageName: String,
10787
10832
  deactivateOnPromoteArg,
10788
10833
  versionCodesToRetainArg,
10789
10834
  changesNotSentForReviewArg,
10835
+ rescueChangesNotSentForReviewArg,
10790
10836
  inAppUpdatePriorityArg,
10791
10837
  obbMainReferencesVersionArg,
10792
10838
  obbMainFileSizeArg,
@@ -10880,7 +10926,7 @@ public func swiftlint(mode: String = "lint",
10880
10926
  - skipProvisioningProfiles: Skip syncing provisioning profiles
10881
10927
  - appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings)
10882
10928
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
10883
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
10929
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
10884
10930
  - username: Your Apple ID Username
10885
10931
  - teamId: The ID of your Developer Portal team if you're in multiple teams
10886
10932
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -10905,7 +10951,7 @@ public func swiftlint(mode: String = "lint",
10905
10951
  - keychainName: Keychain the items should be imported to
10906
10952
  - keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
10907
10953
  - force: Renew the provisioning profiles every time you run match
10908
- - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile type 'appstore'
10954
+ - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
10909
10955
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
10910
10956
  - skipDocs: Skip generation of a README.md for the created git repository
10911
10957
  - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
@@ -11150,12 +11196,13 @@ public func testfairy(apiKey: String,
11150
11196
 
11151
11197
  - parameters:
11152
11198
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
11153
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
11199
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
11154
11200
  - username: Your Apple ID Username
11155
11201
  - appIdentifier: The bundle identifier of the app to upload or manage testers (optional)
11156
11202
  - appPlatform: The platform to use (optional)
11157
11203
  - appleId: Apple ID property in the App Information section in App Store Connect
11158
11204
  - ipa: Path to the ipa file to upload
11205
+ - pkg: Path to your pkg file
11159
11206
  - demoAccountRequired: Do you need a demo account when Apple does review?
11160
11207
  - betaAppReviewInfo: Beta app review information for contact info and demo account
11161
11208
  - localizedAppInfo: Localized beta app test info for description, feedback email, marketing url, and privacy policy
@@ -11194,9 +11241,10 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
11194
11241
  apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
11195
11242
  username: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11196
11243
  appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11197
- appPlatform: String = "ios",
11244
+ appPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11198
11245
  appleId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11199
11246
  ipa: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11247
+ pkg: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11200
11248
  demoAccountRequired: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
11201
11249
  betaAppReviewInfo: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
11202
11250
  localizedAppInfo: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
@@ -11232,9 +11280,10 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
11232
11280
  let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
11233
11281
  let usernameArg = username.asRubyArgument(name: "username", type: nil)
11234
11282
  let appIdentifierArg = appIdentifier.asRubyArgument(name: "app_identifier", type: nil)
11235
- let appPlatformArg = RubyCommand.Argument(name: "app_platform", value: appPlatform, type: nil)
11283
+ let appPlatformArg = appPlatform.asRubyArgument(name: "app_platform", type: nil)
11236
11284
  let appleIdArg = appleId.asRubyArgument(name: "apple_id", type: nil)
11237
11285
  let ipaArg = ipa.asRubyArgument(name: "ipa", type: nil)
11286
+ let pkgArg = pkg.asRubyArgument(name: "pkg", type: nil)
11238
11287
  let demoAccountRequiredArg = demoAccountRequired.asRubyArgument(name: "demo_account_required", type: nil)
11239
11288
  let betaAppReviewInfoArg = betaAppReviewInfo.asRubyArgument(name: "beta_app_review_info", type: nil)
11240
11289
  let localizedAppInfoArg = localizedAppInfo.asRubyArgument(name: "localized_app_info", type: nil)
@@ -11272,6 +11321,7 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
11272
11321
  appPlatformArg,
11273
11322
  appleIdArg,
11274
11323
  ipaArg,
11324
+ pkgArg,
11275
11325
  demoAccountRequiredArg,
11276
11326
  betaAppReviewInfoArg,
11277
11327
  localizedAppInfoArg,
@@ -11994,7 +12044,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
11994
12044
 
11995
12045
  - parameters:
11996
12046
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
11997
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
12047
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
11998
12048
  - username: Your Apple ID Username
11999
12049
  - appIdentifier: The bundle identifier of your app
12000
12050
  - appVersion: The version that should be edited or created
@@ -12296,6 +12346,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
12296
12346
  - deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
12297
12347
  - versionCodesToRetain: An array of version codes to retain when publishing a new APK
12298
12348
  - changesNotSentForReview: Indicates that the changes in this edit will not be reviewed until they are explicitly sent for review from the Google Play Console UI
12349
+ - rescueChangesNotSentForReview: Catches changes_not_sent_for_review errors when an edit is committed and retries with the configuration that the error message recommended
12299
12350
  - inAppUpdatePriority: In-app update priority for all the newly added apks in the release. Can take values between [0,5]
12300
12351
  - obbMainReferencesVersion: References version of 'main' expansion file
12301
12352
  - obbMainFileSize: Size of 'main' expansion file in bytes
@@ -12336,6 +12387,7 @@ public func uploadToPlayStore(packageName: String,
12336
12387
  deactivateOnPromote: OptionalConfigValue<Bool> = .fastlaneDefault(true),
12337
12388
  versionCodesToRetain: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
12338
12389
  changesNotSentForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
12390
+ rescueChangesNotSentForReview: OptionalConfigValue<Bool> = .fastlaneDefault(true),
12339
12391
  inAppUpdatePriority: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
12340
12392
  obbMainReferencesVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12341
12393
  obbMainFileSize: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -12374,6 +12426,7 @@ public func uploadToPlayStore(packageName: String,
12374
12426
  let deactivateOnPromoteArg = deactivateOnPromote.asRubyArgument(name: "deactivate_on_promote", type: nil)
12375
12427
  let versionCodesToRetainArg = versionCodesToRetain.asRubyArgument(name: "version_codes_to_retain", type: nil)
12376
12428
  let changesNotSentForReviewArg = changesNotSentForReview.asRubyArgument(name: "changes_not_sent_for_review", type: nil)
12429
+ let rescueChangesNotSentForReviewArg = rescueChangesNotSentForReview.asRubyArgument(name: "rescue_changes_not_sent_for_review", type: nil)
12377
12430
  let inAppUpdatePriorityArg = inAppUpdatePriority.asRubyArgument(name: "in_app_update_priority", type: nil)
12378
12431
  let obbMainReferencesVersionArg = obbMainReferencesVersion.asRubyArgument(name: "obb_main_references_version", type: nil)
12379
12432
  let obbMainFileSizeArg = obbMainFileSize.asRubyArgument(name: "obb_main_file_size", type: nil)
@@ -12411,6 +12464,7 @@ public func uploadToPlayStore(packageName: String,
12411
12464
  deactivateOnPromoteArg,
12412
12465
  versionCodesToRetainArg,
12413
12466
  changesNotSentForReviewArg,
12467
+ rescueChangesNotSentForReviewArg,
12414
12468
  inAppUpdatePriorityArg,
12415
12469
  obbMainReferencesVersionArg,
12416
12470
  obbMainFileSizeArg,
@@ -12482,12 +12536,13 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String,
12482
12536
 
12483
12537
  - parameters:
12484
12538
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
12485
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
12539
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
12486
12540
  - username: Your Apple ID Username
12487
12541
  - appIdentifier: The bundle identifier of the app to upload or manage testers (optional)
12488
12542
  - appPlatform: The platform to use (optional)
12489
12543
  - appleId: Apple ID property in the App Information section in App Store Connect
12490
12544
  - ipa: Path to the ipa file to upload
12545
+ - pkg: Path to your pkg file
12491
12546
  - demoAccountRequired: Do you need a demo account when Apple does review?
12492
12547
  - betaAppReviewInfo: Beta app review information for contact info and demo account
12493
12548
  - localizedAppInfo: Localized beta app test info for description, feedback email, marketing url, and privacy policy
@@ -12526,9 +12581,10 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
12526
12581
  apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
12527
12582
  username: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12528
12583
  appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12529
- appPlatform: String = "ios",
12584
+ appPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12530
12585
  appleId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12531
12586
  ipa: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12587
+ pkg: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12532
12588
  demoAccountRequired: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
12533
12589
  betaAppReviewInfo: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
12534
12590
  localizedAppInfo: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
@@ -12564,9 +12620,10 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
12564
12620
  let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
12565
12621
  let usernameArg = username.asRubyArgument(name: "username", type: nil)
12566
12622
  let appIdentifierArg = appIdentifier.asRubyArgument(name: "app_identifier", type: nil)
12567
- let appPlatformArg = RubyCommand.Argument(name: "app_platform", value: appPlatform, type: nil)
12623
+ let appPlatformArg = appPlatform.asRubyArgument(name: "app_platform", type: nil)
12568
12624
  let appleIdArg = appleId.asRubyArgument(name: "apple_id", type: nil)
12569
12625
  let ipaArg = ipa.asRubyArgument(name: "ipa", type: nil)
12626
+ let pkgArg = pkg.asRubyArgument(name: "pkg", type: nil)
12570
12627
  let demoAccountRequiredArg = demoAccountRequired.asRubyArgument(name: "demo_account_required", type: nil)
12571
12628
  let betaAppReviewInfoArg = betaAppReviewInfo.asRubyArgument(name: "beta_app_review_info", type: nil)
12572
12629
  let localizedAppInfoArg = localizedAppInfo.asRubyArgument(name: "localized_app_info", type: nil)
@@ -12604,6 +12661,7 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
12604
12661
  appPlatformArg,
12605
12662
  appleIdArg,
12606
12663
  ipaArg,
12664
+ pkgArg,
12607
12665
  demoAccountRequiredArg,
12608
12666
  betaAppReviewInfoArg,
12609
12667
  localizedAppInfoArg,
@@ -13011,7 +13069,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13011
13069
  coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13012
13070
  coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13013
13071
  xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13014
- ideFoundationPath: String = "/Applications/Xcode-13.beta.4.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13072
+ ideFoundationPath: String = "/Applications/Xcode-12.5.1.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13015
13073
  legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
13016
13074
  {
13017
13075
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
@@ -13213,4 +13271,4 @@ public let snapshotfile = Snapshotfile()
13213
13271
 
13214
13272
  // Please don't remove the lines below
13215
13273
  // They are used to detect outdated files
13216
- // FastlaneRunnerAPIVersion [0.9.132]
13274
+ // FastlaneRunnerAPIVersion [0.9.136]