fastlane 2.191.0 → 2.194.0

Sign up to get free protection for your applications and to get access to all the features.
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]