fastlane 2.185.0 → 2.188.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +96 -96
  3. data/fastlane/lib/fastlane/actions/appetize.rb +0 -7
  4. data/fastlane/lib/fastlane/actions/appium.rb +40 -65
  5. data/fastlane/lib/fastlane/actions/appledoc.rb +45 -45
  6. data/fastlane/lib/fastlane/actions/apteligent.rb +3 -2
  7. data/fastlane/lib/fastlane/actions/artifactory.rb +5 -6
  8. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -13
  9. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +2 -2
  10. data/fastlane/lib/fastlane/actions/badge.rb +9 -13
  11. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +1 -3
  12. data/fastlane/lib/fastlane/actions/bundle_install.rb +8 -10
  13. data/fastlane/lib/fastlane/actions/carthage.rb +1 -15
  14. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +8 -17
  15. data/fastlane/lib/fastlane/actions/chatwork.rb +3 -2
  16. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +0 -1
  17. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +0 -1
  18. data/fastlane/lib/fastlane/actions/cloc.rb +9 -13
  19. data/fastlane/lib/fastlane/actions/cocoapods.rb +9 -15
  20. data/fastlane/lib/fastlane/actions/commit_github_file.rb +1 -3
  21. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +6 -7
  22. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +3 -4
  23. data/fastlane/lib/fastlane/actions/crashlytics.rb +7 -11
  24. data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +70 -76
  25. data/fastlane/lib/fastlane/actions/create_keychain.rb +13 -11
  26. data/fastlane/lib/fastlane/actions/create_pull_request.rb +0 -9
  27. data/fastlane/lib/fastlane/actions/danger.rb +6 -11
  28. data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
  29. data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
  30. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +26 -27
  31. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +2 -2
  32. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
  33. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +1 -1
  34. data/fastlane/lib/fastlane/actions/download_dsyms.rb +3 -4
  35. data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
  36. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
  37. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
  38. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
  39. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
  40. data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
  41. data/fastlane/lib/fastlane/actions/erb.rb +2 -5
  42. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
  43. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
  44. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +29 -34
  45. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
  46. data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
  47. data/fastlane/lib/fastlane/actions/git_commit.rb +2 -6
  48. data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
  49. data/fastlane/lib/fastlane/actions/github_api.rb +2 -5
  50. data/fastlane/lib/fastlane/actions/gradle.rb +12 -20
  51. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
  52. data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
  53. data/fastlane/lib/fastlane/actions/hipchat.rb +4 -5
  54. data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
  55. data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
  56. data/fastlane/lib/fastlane/actions/import_from_git.rb +2 -4
  57. data/fastlane/lib/fastlane/actions/increment_build_number.rb +1 -2
  58. data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
  59. data/fastlane/lib/fastlane/actions/installr.rb +22 -25
  60. data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
  61. data/fastlane/lib/fastlane/actions/jazzy.rb +8 -14
  62. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +3 -4
  63. data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
  64. data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
  65. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
  66. data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
  67. data/fastlane/lib/fastlane/actions/nexus_upload.rb +2 -2
  68. data/fastlane/lib/fastlane/actions/notarize.rb +1 -4
  69. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  70. data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
  71. data/fastlane/lib/fastlane/actions/pod_push.rb +0 -2
  72. data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
  73. data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
  74. data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
  75. data/fastlane/lib/fastlane/actions/puts.rb +1 -2
  76. data/fastlane/lib/fastlane/actions/register_devices.rb +0 -1
  77. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
  78. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
  79. data/fastlane/lib/fastlane/actions/resign.rb +2 -9
  80. data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
  81. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  82. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  83. data/fastlane/lib/fastlane/actions/say.rb +2 -3
  84. data/fastlane/lib/fastlane/actions/scp.rb +4 -10
  85. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  86. data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
  87. data/fastlane/lib/fastlane/actions/set_github_release.rb +2 -8
  88. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  89. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
  90. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
  91. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
  92. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
  93. data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
  94. data/fastlane/lib/fastlane/actions/sh.rb +2 -4
  95. data/fastlane/lib/fastlane/actions/slack.rb +6 -8
  96. data/fastlane/lib/fastlane/actions/slather.rb +3 -19
  97. data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
  98. data/fastlane/lib/fastlane/actions/sourcedocs.rb +62 -98
  99. data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
  100. data/fastlane/lib/fastlane/actions/spm.rb +3 -3
  101. data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
  102. data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
  103. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
  104. data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
  105. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
  106. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
  107. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
  108. data/fastlane/lib/fastlane/actions/update_fastlane.rb +2 -2
  109. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
  110. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  111. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
  112. data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
  113. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +2 -2
  114. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
  115. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
  116. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +1 -2
  117. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
  118. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
  119. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
  120. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
  121. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  122. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +1 -1
  123. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
  124. data/fastlane/lib/fastlane/helper/git_helper.rb +17 -5
  125. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
  126. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
  127. data/fastlane/lib/fastlane/setup/setup_ios.rb +3 -3
  128. data/fastlane/lib/fastlane/swift_fastlane_function.rb +4 -4
  129. data/fastlane/lib/fastlane/version.rb +1 -1
  130. data/fastlane/swift/Deliverfile.swift +1 -1
  131. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  132. data/fastlane/swift/Fastlane.swift +1239 -1222
  133. data/fastlane/swift/Gymfile.swift +1 -1
  134. data/fastlane/swift/GymfileProtocol.swift +1 -1
  135. data/fastlane/swift/Matchfile.swift +1 -1
  136. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  137. data/fastlane/swift/Precheckfile.swift +1 -1
  138. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  139. data/fastlane/swift/Scanfile.swift +1 -1
  140. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  141. data/fastlane/swift/Screengrabfile.swift +1 -1
  142. data/fastlane/swift/ScreengrabfileProtocol.swift +4 -4
  143. data/fastlane/swift/Snapshotfile.swift +1 -1
  144. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  145. data/fastlane/swift/formatting/Brewfile.lock.json +19 -11
  146. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +13 -0
  147. data/fastlane_core/lib/fastlane_core/print_table.rb +5 -3
  148. data/fastlane_core/lib/fastlane_core/project.rb +7 -3
  149. data/match/lib/match/importer.rb +3 -0
  150. data/match/lib/match/nuke.rb +2 -3
  151. data/pilot/lib/pilot.rb +0 -1
  152. data/pilot/lib/pilot/build_manager.rb +0 -3
  153. data/pilot/lib/pilot/manager.rb +4 -1
  154. data/produce/lib/produce/commands_generator.rb +99 -27
  155. data/produce/lib/produce/developer_center.rb +42 -4
  156. data/produce/lib/produce/options.rb +1 -1
  157. data/produce/lib/produce/service.rb +270 -179
  158. data/screengrab/lib/screengrab/android_environment.rb +2 -52
  159. data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
  160. data/screengrab/lib/screengrab/options.rb +5 -2
  161. data/screengrab/lib/screengrab/runner.rb +109 -107
  162. data/snapshot/lib/assets/SnapfileTemplate +2 -1
  163. data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
  164. data/snapshot/lib/assets/SnapshotHelper.swift +14 -10
  165. data/snapshot/lib/snapshot/reports_generator.rb +3 -1
  166. data/snapshot/lib/snapshot/test_command_generator.rb +17 -3
  167. data/spaceship/lib/spaceship/client.rb +13 -3
  168. data/spaceship/lib/spaceship/connect_api/api_client.rb +30 -5
  169. data/spaceship/lib/spaceship/connect_api/models/{.app_store_version_submission.rb.swp → .bundle_id.rb.swp} +0 -0
  170. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +3 -1
  171. data/spaceship/lib/spaceship/connect_api/models/build.rb +3 -1
  172. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +8 -0
  173. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +58 -17
  174. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -1
  175. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
  176. data/spaceship/lib/spaceship/portal/.app.rb.swp +0 -0
  177. data/spaceship/lib/spaceship/spaceauth_runner.rb +19 -6
  178. metadata +25 -28
  179. data/fastlane/lib/fastlane/.erb_template_helper.rb.swp +0 -0
  180. data/fastlane/lib/fastlane/actions/.git_commit.rb.swp +0 -0
  181. data/gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp +0 -0
  182. data/pilot/lib/pilot/features.rb +0 -0
  183. data/spaceship/lib/spaceship/.DS_Store +0 -0
@@ -47,7 +47,10 @@ module Fastlane
47
47
  commands << Fastlane::Actions.sh("security unlock-keychain -p #{escaped_password} #{keychain_path}", log: false) if params[:unlock]
48
48
 
49
49
  command = "security set-keychain-settings"
50
- command << " -t #{params[:timeout]}" if params[:timeout]
50
+
51
+ # https://ss64.com/osx/security-keychain-settings.html
52
+ # omitting 'timeout' option to specify "no timeout" if required
53
+ command << " -t #{params[:timeout]}" if params[:timeout] > 0
51
54
  command << " -l" if params[:lock_when_sleeps]
52
55
  command << " -u" if params[:lock_after_timeout]
53
56
  command << " #{keychain_path}"
@@ -105,46 +108,45 @@ module Fastlane
105
108
  env_name: "KEYCHAIN_NAME",
106
109
  description: "Keychain name",
107
110
  conflicting_options: [:path],
108
- is_string: true,
109
111
  optional: true),
110
112
  FastlaneCore::ConfigItem.new(key: :path,
111
113
  env_name: "KEYCHAIN_PATH",
112
114
  description: "Path to keychain",
113
- is_string: true,
114
115
  conflicting_options: [:name],
115
116
  optional: true),
116
117
  FastlaneCore::ConfigItem.new(key: :password,
117
118
  env_name: "KEYCHAIN_PASSWORD",
118
119
  description: "Password for the keychain",
119
120
  sensitive: true,
121
+ code_gen_sensitive: true,
120
122
  optional: false),
121
123
  FastlaneCore::ConfigItem.new(key: :default_keychain,
122
124
  description: 'Should the newly created Keychain be the new system default keychain',
123
- is_string: false,
125
+ type: Boolean,
124
126
  default_value: false),
125
127
  FastlaneCore::ConfigItem.new(key: :unlock,
126
128
  description: 'Unlock keychain after create',
127
- is_string: false,
129
+ type: Boolean,
128
130
  default_value: false),
129
131
  FastlaneCore::ConfigItem.new(key: :timeout,
130
- description: 'timeout interval in seconds. Set `false` if you want to specify "no time-out"',
131
- is_string: false,
132
+ description: 'timeout interval in seconds. Set `0` if you want to specify "no time-out"',
133
+ type: Integer,
132
134
  default_value: 300),
133
135
  FastlaneCore::ConfigItem.new(key: :lock_when_sleeps,
134
136
  description: 'Lock keychain when the system sleeps',
135
- is_string: false,
137
+ type: Boolean,
136
138
  default_value: false),
137
139
  FastlaneCore::ConfigItem.new(key: :lock_after_timeout,
138
140
  description: 'Lock keychain after timeout interval',
139
- is_string: false,
141
+ type: Boolean,
140
142
  default_value: false),
141
143
  FastlaneCore::ConfigItem.new(key: :add_to_search_list,
142
144
  description: 'Add keychain to search list',
143
- is_string: false,
145
+ type: Boolean,
144
146
  default_value: true),
145
147
  FastlaneCore::ConfigItem.new(key: :require_create,
146
148
  description: 'Fail the action if the Keychain already exists',
147
- is_string: false,
149
+ type: Boolean,
148
150
  default_value: false)
149
151
  ]
150
152
  end
@@ -165,7 +165,6 @@ module Fastlane
165
165
  code_gen_sensitive: true,
166
166
  default_value: ENV["GITHUB_API_TOKEN"],
167
167
  default_value_dynamic: true,
168
- is_string: true,
169
168
  conflicting_options: [:api_bearer],
170
169
  optional: true),
171
170
  FastlaneCore::ConfigItem.new(key: :api_bearer,
@@ -173,24 +172,20 @@ module Fastlane
173
172
  description: "Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable",
174
173
  sensitive: true,
175
174
  code_gen_sensitive: true,
176
- is_string: true,
177
175
  conflicting_options: [:api_token],
178
176
  optional: true,
179
177
  default_value: nil),
180
178
  FastlaneCore::ConfigItem.new(key: :repo,
181
179
  env_name: "GITHUB_PULL_REQUEST_REPO",
182
180
  description: "The name of the repository you want to submit the pull request to",
183
- is_string: true,
184
181
  optional: false),
185
182
  FastlaneCore::ConfigItem.new(key: :title,
186
183
  env_name: "GITHUB_PULL_REQUEST_TITLE",
187
184
  description: "The title of the pull request",
188
- is_string: true,
189
185
  optional: false),
190
186
  FastlaneCore::ConfigItem.new(key: :body,
191
187
  env_name: "GITHUB_PULL_REQUEST_BODY",
192
188
  description: "The contents of the pull request",
193
- is_string: true,
194
189
  optional: true),
195
190
  FastlaneCore::ConfigItem.new(key: :draft,
196
191
  env_name: "GITHUB_PULL_REQUEST_DRAFT",
@@ -210,21 +205,17 @@ module Fastlane
210
205
  FastlaneCore::ConfigItem.new(key: :head,
211
206
  env_name: "GITHUB_PULL_REQUEST_HEAD",
212
207
  description: "The name of the branch where your changes are implemented (defaults to the current branch name)",
213
- is_string: true,
214
- code_gen_sensitive: true,
215
208
  default_value: Actions.git_branch,
216
209
  default_value_dynamic: true,
217
210
  optional: true),
218
211
  FastlaneCore::ConfigItem.new(key: :base,
219
212
  env_name: "GITHUB_PULL_REQUEST_BASE",
220
213
  description: "The name of the branch you want your changes pulled into (defaults to `master`)",
221
- is_string: true,
222
214
  default_value: 'master',
223
215
  optional: true),
224
216
  FastlaneCore::ConfigItem.new(key: :api_url,
225
217
  env_name: "GITHUB_PULL_REQUEST_API_URL",
226
218
  description: "The URL of GitHub API - used when the Enterprise (default to `https://api.github.com`)",
227
- is_string: true,
228
219
  code_gen_default_value: 'https://api.github.com',
229
220
  default_value: 'https://api.github.com',
230
221
  optional: true),
@@ -45,61 +45,56 @@ module Fastlane
45
45
  FastlaneCore::ConfigItem.new(key: :use_bundle_exec,
46
46
  env_name: "FL_DANGER_USE_BUNDLE_EXEC",
47
47
  description: "Use bundle exec when there is a Gemfile presented",
48
- is_string: false,
48
+ type: Boolean,
49
49
  default_value: true),
50
50
  FastlaneCore::ConfigItem.new(key: :verbose,
51
51
  env_name: "FL_DANGER_VERBOSE",
52
52
  description: "Show more debugging information",
53
- is_string: false,
53
+ type: Boolean,
54
54
  default_value: false),
55
55
  FastlaneCore::ConfigItem.new(key: :danger_id,
56
56
  env_name: "FL_DANGER_ID",
57
57
  description: "The identifier of this Danger instance",
58
- is_string: true,
59
58
  optional: true),
60
59
  FastlaneCore::ConfigItem.new(key: :dangerfile,
61
60
  env_name: "FL_DANGER_DANGERFILE",
62
61
  description: "The location of your Dangerfile",
63
- is_string: true,
64
62
  optional: true),
65
63
  FastlaneCore::ConfigItem.new(key: :github_api_token,
66
64
  env_name: "FL_DANGER_GITHUB_API_TOKEN",
67
65
  description: "GitHub API token for danger",
68
66
  sensitive: true,
69
- is_string: true,
67
+ code_gen_sensitive: true,
70
68
  optional: true),
71
69
  FastlaneCore::ConfigItem.new(key: :fail_on_errors,
72
70
  env_name: "FL_DANGER_FAIL_ON_ERRORS",
73
71
  description: "Should always fail the build process, defaults to false",
74
- is_string: false,
72
+ type: Boolean,
75
73
  optional: true,
76
74
  default_value: false),
77
75
  FastlaneCore::ConfigItem.new(key: :new_comment,
78
76
  env_name: "FL_DANGER_NEW_COMMENT",
79
77
  description: "Makes Danger post a new comment instead of editing its previous one",
80
- is_string: false,
78
+ type: Boolean,
81
79
  optional: true,
82
80
  default_value: false),
83
81
  FastlaneCore::ConfigItem.new(key: :remove_previous_comments,
84
82
  env_name: "FL_DANGER_REMOVE_PREVIOUS_COMMENT",
85
83
  description: "Makes Danger remove all previous comment and create a new one in the end of the list",
86
- is_string: false,
84
+ type: Boolean,
87
85
  optional: true,
88
86
  default_value: false),
89
87
  FastlaneCore::ConfigItem.new(key: :base,
90
88
  env_name: "FL_DANGER_BASE",
91
89
  description: "A branch/tag/commit to use as the base of the diff. [master|dev|stable]",
92
- is_string: true,
93
90
  optional: true),
94
91
  FastlaneCore::ConfigItem.new(key: :head,
95
92
  env_name: "FL_DANGER_HEAD",
96
93
  description: "A branch/tag/commit to use as the head. [master|dev|stable]",
97
- is_string: true,
98
94
  optional: true),
99
95
  FastlaneCore::ConfigItem.new(key: :pr,
100
96
  env_name: "FL_DANGER_PR",
101
97
  description: "Run danger on a specific pull request. e.g. \"https://github.com/danger/danger/pull/518\"",
102
- is_string: true,
103
98
  optional: true),
104
99
  FastlaneCore::ConfigItem.new(key: :fail_if_no_pr,
105
100
  env_name: "FL_DANGER_FAIL_IF_NO_PR",
@@ -157,13 +157,12 @@ module Fastlane
157
157
  description: "Release note for distribution page"),
158
158
  FastlaneCore::ConfigItem.new(key: :disable_notify,
159
159
  optional: true,
160
- is_string: false,
160
+ type: Boolean,
161
161
  default_value: false,
162
162
  env_name: "DEPLOYGATE_DISABLE_NOTIFY",
163
163
  description: "Disables Push notification emails"),
164
164
  FastlaneCore::ConfigItem.new(key: :distribution_name,
165
165
  optional: true,
166
- is_string: true,
167
166
  env_name: "DEPLOYGATE_DISTRIBUTION_NAME",
168
167
  description: "Target Distribution Name")
169
168
  ]
@@ -148,8 +148,8 @@ Optional: If _gym_ can't automatically detect the provisioning profiles to use,
148
148
  ```ruby
149
149
  build_app(
150
150
  scheme: "Release",
151
+ export_method: "app-store",
151
152
  export_options: {
152
- method: "app-store",
153
153
  provisioningProfiles: {
154
154
  "com.example.bundleid" => "Provisioning Profile Name",
155
155
  "com.example.bundleid2" => "Provisioning Profile Name 2"
@@ -29,7 +29,7 @@ gem install fastlane
29
29
  androidTestImplementation 'tools.fastlane:screengrab:x.x.x'
30
30
  ```
31
31
 
32
- The latest version is [ ![Download](https://api.bintray.com/packages/fastlane/fastlane/screengrab/images/download.svg) ](https://bintray.com/fastlane/fastlane/screengrab/_latestVersion)
32
+ The latest version is [ ![Download](https://maven-badges.herokuapp.com/maven-central/tools.fastlane/screengrab/badge.svg)](https://search.maven.org/artifact/tools.fastlane/screengrab)
33
33
 
34
34
  As of Screengrab version 2.0.0, all Android test dependencies are AndroidX dependencies. This means a device with API 18+, Android 4.3 or greater is required. If you wish to capture screenshots with an older Android OS, then you must use a 1.x.x version.
35
35
 
@@ -38,21 +38,28 @@ As of Screengrab version 2.0.0, all Android test dependencies are AndroidX depen
38
38
  Ensure that the following permissions exist in your **src/debug/AndroidManifest.xml**
39
39
 
40
40
  ```xml
41
- <!-- Allows unlocking your device and activating its screen so UI tests can succeed -->
42
- <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
43
- <uses-permission android:name="android.permission.WAKE_LOCK"/>
41
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
42
+ xmlns:tools="http://schemas.android.com/tools">
44
43
 
45
- <!-- Allows for storing and retrieving screenshots -->
46
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
47
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
44
+ <!-- Allows storing screenshots on external storage, where it can be accessed by ADB -->
45
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
48
46
 
49
- <!-- Allows changing locales -->
50
- <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
47
+ <!-- Allows changing locales -->
48
+ <uses-permission
49
+ android:name="android.permission.CHANGE_CONFIGURATION"
50
+ tools:ignore="ProtectedPermissions" />
51
+
52
+ <!-- Allows changing SystemUI demo mode -->
53
+ <uses-permission
54
+ android:name="android.permission.DUMP"
55
+ tools:ignore="ProtectedPermissions" />
56
+
57
+ </manifest>
51
58
  ```
52
59
 
53
60
  ##### Configuring your <a href="#ui-tests">UI Tests</a> for Screenshots
54
61
 
55
- 1. Add `LocaleTestRule` to your tests class to handle automatic switching of locales.
62
+ 1. Add `LocaleTestRule` to your tests class to handle automatic switching of locales.
56
63
  If you're using Java use:
57
64
  ```java
58
65
  @ClassRule
@@ -63,7 +70,7 @@ Ensure that the following permissions exist in your **src/debug/AndroidManifest.
63
70
  @Rule @JvmField
64
71
  val localeTestRule = LocaleTestRule()
65
72
  ```
66
- Important is the `@JvmField` annotation. It won't work like that:
73
+ The `@JvmField` annotation is important. It won't work like this:
67
74
  ```kotlin
68
75
  companion object {
69
76
  @get:ClassRule
@@ -79,7 +86,7 @@ Ensure that the following permissions exist in your **src/debug/AndroidManifest.
79
86
  - You can also create a lane and use `build_android_app`:
80
87
  ```ruby
81
88
  desc "Build debug and test APK for screenshots"
82
- lane :build_for_screengrab do
89
+ lane :build_and_screengrab do
83
90
  build_android_app(
84
91
  task: 'assemble',
85
92
  build_type: 'Debug'
@@ -88,6 +95,7 @@ Ensure that the following permissions exist in your **src/debug/AndroidManifest.
88
95
  task: 'assemble',
89
96
  build_type: 'AndroidTest'
90
97
  )
98
+ screengrab()
91
99
  end
92
100
  ```
93
101
  - Once complete run `fastlane screengrab` in your app project directory to generate screenshots
@@ -163,7 +171,7 @@ public class JUnit4StyleTests {
163
171
  public static final LocaleTestRule localeTestRule = new LocaleTestRule();
164
172
 
165
173
  @Rule
166
- public ActivityTestRule<MainActivity> activityRule = new ActivityTestRule<>(MainActivity.class);
174
+ public ActivityScenarioRule<MainActivity> activityRule = new ActivityScenarioRule<>(MainActivity.class);
167
175
 
168
176
  @Test
169
177
  public void testTakeScreenshot() {
@@ -181,7 +189,7 @@ Kotlin:
181
189
  @RunWith(JUnit4.class)
182
190
  class JUnit4StyleTests {
183
191
  @get:Rule
184
- var activityRule = ActivityTestRule(MainActivity::class.java)
192
+ var activityRule = ActivityScenarioRule(MainActivity::class.java)
185
193
 
186
194
  @Rule @JvmField
187
195
  val localeTestRule = LocaleTestRule()
@@ -208,22 +216,13 @@ When using JUnit 3 you'll need to add a bit more code:
208
216
  - Use `LocaleUtil.changeDeviceLocaleTo(LocaleUtil.getEndingLocale());` in `tearDown()`
209
217
  - Use `Screengrab.screenshot("name_of_screenshot_here");` to capture screenshots at the appropriate points in your tests
210
218
 
211
- If you're having trouble getting your device unlocked and the screen activated to run tests, try using `ScreenUtil.activateScreenForTesting(activity);` in your test setup.
212
-
213
219
  ## Clean Status Bar
214
220
 
215
- Screengrab can clean your status bar to make your screenshots even more beautiful.
221
+ Screengrab can clean your status bar to make your screenshots even more beautiful.
222
+ It is simply a wrapper that allows configuring SystemUI DemoMode in your code.
216
223
  Note: the clean status bar feature is only supported on devices with *API level >= 23*.
217
224
 
218
- To use the clean status bar feature add the following lines to your src/debug/AndroidManifest.xml
219
- ```xml
220
- <!-- Indicates the use of the clean status bar feature -->
221
- <uses-feature android:name="tools.fastlane.screengrab.cleanstatusbar"/>
222
- <!-- Allows for changing the status bar -->
223
- <uses-permission android:name="android.permission.DUMP"/>
224
- ```
225
-
226
- After that you can enable and disable the clean status bar at any moment during your tests.
225
+ You can enable and disable the clean status bar at any moment during your tests.
227
226
  In most cases you probably want to do this in the @BeforeClass and @AfterClass methods.
228
227
  ```java
229
228
  @BeforeClass
@@ -237,7 +236,7 @@ public static void afterAll() {
237
236
  }
238
237
  ```
239
238
 
240
- Have a look at the methods of the `CleanStatusBar` class to customize the status bar even more.
239
+ Have a look at the methods of the `CleanStatusBar` class to customize the status bar even more.
241
240
  You could for example show the Bluetooth icon and the LTE text.
242
241
  ```java
243
242
  new CleanStatusBar()
@@ -2,7 +2,7 @@
2
2
  <img src="/img/actions/snapshot.png" width="250">
3
3
  </p>
4
4
 
5
- ###### Automate taking localized screenshots of your iOS and tvOS apps on every device
5
+ ###### Automate taking localized screenshots of your iOS, tvOS, and watchOS apps on every device
6
6
 
7
7
  <hr />
8
8
  <h4 align="center">
@@ -10,7 +10,7 @@
10
10
  </h4>
11
11
  <hr />
12
12
 
13
- _snapshot_ generates localized iOS and tvOS screenshots for different device types and languages for the App Store and can be uploaded using ([_deliver_](https://docs.fastlane.tools/actions/deliver/)).
13
+ _snapshot_ generates localized iOS, tvOS, and watchOS screenshots for different device types and languages for the App Store and can be uploaded using ([_deliver_](https://docs.fastlane.tools/actions/deliver/)).
14
14
 
15
15
  You have to manually create 20 (languages) x 6 (devices) x 5 (screenshots) = **600 screenshots**.
16
16
 
@@ -68,7 +68,7 @@ Options for create:
68
68
  -y, --sku STRING SKU Number (e.g. '1234') (PRODUCE_SKU)
69
69
  -j, --platform STRING The platform to use (optional) (PRODUCE_PLATFORM)
70
70
  -m, --language STRING Primary Language (e.g. 'English', 'German') (PRODUCE_LANGUAGE)
71
- -c, --company_name STRING The name of your company. Only required if it's the first app you create (PRODUCE_COMPANY_NAME)
71
+ -c, --company_name STRING The name of your company. It's used to set company name on App Store Connect team's app pages. Only required if it's the first app you create (PRODUCE_COMPANY_NAME)
72
72
  -i, --skip_itc [VALUE] Skip the creation of the app on App Store Connect (PRODUCE_SKIP_ITC)
73
73
  -d, --skip_devcenter [VALUE] Skip the creation of the app on the Apple Developer Portal (PRODUCE_SKIP_DEVCENTER)
74
74
  -s, --itc_users ARRAY Array of App Store Connect users. If provided, you can limit access to this newly created app for users with the App Manager, Developer, Marketer or Sales roles (ITC_USERS)
@@ -131,27 +131,62 @@ fastlane produce enable_services --help
131
131
  ```
132
132
 
133
133
  ```no-highlight
134
- --app-group Enable App Groups
135
- --apple-pay Enable Apple Pay
136
- --associated-domains Enable Associated Domains
137
- --data-protection STRING Enable Data Protection, suitable values are "complete", "unlessopen" and "untilfirstauth"
138
- --game-center Enable Game Center
139
- --healthkit Enable HealthKit
140
- --homekit Enable HomeKit
141
- --hotspot Enable Hotspot
142
- --icloud STRING Enable iCloud, suitable values are "legacy" and "cloudkit"
143
- --in-app-purchase Enable In-App Purchase
144
- --inter-app-audio Enable Inter-App-Audio
145
- --multipath Enable Multipath
146
- --network-extension Enable Network Extensions
147
- --nfc-tag-reading Enable NFC Tag Reading
148
- --personal-vpn Enable Personal VPN
149
- --passbook Enable Passbook (deprecated)
150
- --push-notification Enable Push notification (only enables the service, does not configure certificates)
151
- --sirikit Enable SiriKit
152
- --vpn-conf Enable VPN Configuration (deprecated)
153
- --wallet Enable Wallet
154
- --wireless-conf Enable Wireless Accessory Configuration
134
+ --access-wifi Enable Access Wifi
135
+ --app-attest Enable App Attest
136
+ --app-group Enable App Group
137
+ --apple-pay Enable Apple Pay
138
+ --associated-domains Enable Associated Domains
139
+ --auto-fill-credential Enable Auto Fill Credential
140
+ --class-kit Enable Class Kit
141
+ --icloud STRING Enable iCloud, suitable values are "xcode5_compatible" and "xcode6_compatible"
142
+ --custom-network-protocol Enable Custom Network Protocol
143
+ --data-protection STRING Enable Data Protection, suitable values are "complete", "unlessopen" and "untilfirstauth"
144
+ --extended-virtual-address-space Enable Extended Virtual Address Space
145
+ --game-center STRING Enable Game Center, suitable values are "ios" and "macos
146
+ --health-kit Enable Health Kit
147
+ --hls-interstitial-preview Enable Hls Interstitial Preview
148
+ --home-kit Enable Home Kit
149
+ --hotspot Enable Hotspot
150
+ --in-app-purchase Enable In App Purchase
151
+ --inter-app-audio Enable Inter App Audio
152
+ --low-latency-hls Enable Low Latency Hls
153
+ --managed-associated-domains Enable Managed Associated Domains
154
+ --maps Enable Maps
155
+ --multipath Enable Multipath
156
+ --network-extension Enable Network Extension
157
+ --nfc-tag-reading Enable NFC Tag Reading
158
+ --personal-vpn Enable Personal VPN
159
+ --passbook Enable Passbook (deprecated)
160
+ --push-notification Enable Push Notification
161
+ --sign-in-with-apple Enable Sign In With Apple
162
+ --siri-kit Enable Siri Kit
163
+ --system-extension Enable System Extension
164
+ --user-management Enable User Management
165
+ --vpn-configuration Enable Vpn Configuration (deprecated)
166
+ --wallet Enable Wallet
167
+ --wireless-accessory Enable Wireless Accessory
168
+ --car-play-audio-app Enable Car Play Audio App
169
+ --car-play-messaging-app Enable Car Play Messaging App
170
+ --car-play-navigation-app Enable Car Play Navigation App
171
+ --car-play-voip-calling-app Enable Car Play Voip Calling App
172
+ --critical-alerts Enable Critical Alerts
173
+ --hotspot-helper Enable Hotspot Helper
174
+ --driver-kit Enable DriverKit
175
+ --driver-kit-endpoint-security Enable DriverKit Endpoint Security
176
+ --driver-kit-family-hid-device Enable DriverKit Family HID Device
177
+ --driver-kit-family-networking Enable DriverKit Family Networking
178
+ --driver-kit-family-serial Enable DriverKit Family Serial
179
+ --driver-kit-hid-event-service Enable DriverKit HID EventService
180
+ --driver-kit-transport-hid Enable DriverKit Transport HID
181
+ --multitasking-camera-access Enable Multitasking Camera Access
182
+ --sf-universal-link-api Enable SFUniversalLink API
183
+ --vp9-decoder Enable VP9 Decoder
184
+ --music-kit Enable MusicKit
185
+ --shazam-kit Enable ShazamKit
186
+ --communication-notifications Enable Communication Notifications
187
+ --group-activities Enable Group Activities
188
+ --health-kit-estimate-recalibration Enable HealthKit Estimate Recalibration
189
+ --time-sensitive-notifications Enable Time Sensitive Notifications
155
190
  ```
156
191
 
157
192
  ```no-highlight
@@ -159,27 +194,62 @@ fastlane produce disable_services --help
159
194
  ```
160
195
 
161
196
  ```no-highlight
162
- --app-group Disable App Groups
163
- --apple-pay Disable Apple Pay
164
- --associated-domains Disable Associated Domains
165
- --data-protection Disable Data Protection
166
- --game-center Disable Game Center
167
- --healthkit Disable HealthKit
168
- --homekit Disable HomeKit
169
- --hotspot Disable Hotspot
170
- --icloud Disable iCloud
171
- --in-app-purchase Disable In-App Purchase
172
- --inter-app-audio Disable Inter-App-Audio
173
- --multipath Disable Multipath
174
- --network-extension Disable Network Extensions
175
- --nfc-tag-reading Disable NFC Tag Reading
176
- --personal-vpn Disable Personal VPN
177
- --passbook Disable Passbook (deprecated)
178
- --push-notification Disable Push notifications
179
- --sirikit Disable SiriKit
180
- --vpn-conf Disable VPN Configuration (deprecated)
181
- --wallet Disable Wallet
182
- --wireless-conf Disable Wireless Accessory Configuration
197
+ --access-wifi Disable Access Wifi
198
+ --app-attest Disable App Attest
199
+ --app-group Disable App Group
200
+ --apple-pay Disable Apple Pay
201
+ --associated-domains Disable Associated Domains
202
+ --auto-fill-credential Disable Auto Fill Credential
203
+ --class-kit Disable Class Kit
204
+ --icloud STRING Disable iCloud
205
+ --custom-network-protocol Disable Custom Network Protocol
206
+ --data-protection STRING Disable Data Protection
207
+ --extended-virtual-address-space Disable Extended Virtual Address Space
208
+ --game-center STRING Disable Game Center
209
+ --health-kit Disable Health Kit
210
+ --hls-interstitial-preview Disable Hls Interstitial Preview
211
+ --home-kit Disable Home Kit
212
+ --hotspot Disable Hotspot
213
+ --in-app-purchase Disable In App Purchase
214
+ --inter-app-audio Disable Inter App Audio
215
+ --low-latency-hls Disable Low Latency Hls
216
+ --managed-associated-domains Disable Managed Associated Domains
217
+ --maps Disable Maps
218
+ --multipath Disable Multipath
219
+ --network-extension Disable Network Extension
220
+ --nfc-tag-reading Disable NFC Tag Reading
221
+ --personal-vpn Disable Personal VPN
222
+ --passbook Disable Passbook (deprecated)
223
+ --push-notification Disable Push Notification
224
+ --sign-in-with-apple Disable Sign In With Apple
225
+ --siri-kit Disable Siri Kit
226
+ --system-extension Disable System Extension
227
+ --user-management Disable User Management
228
+ --vpn-configuration Disable Vpn Configuration (deprecated)
229
+ --wallet Disable Wallet
230
+ --wireless-accessory Disable Wireless Accessory
231
+ --car-play-audio-app Disable Car Play Audio App
232
+ --car-play-messaging-app Disable Car Play Messaging App
233
+ --car-play-navigation-app Disable Car Play Navigation App
234
+ --car-play-voip-calling-app Disable Car Play Voip Calling App
235
+ --critical-alerts Disable Critical Alerts
236
+ --hotspot-helper Disable Hotspot Helper
237
+ --driver-kit Disable DriverKit
238
+ --driver-kit-endpoint-security Disable DriverKit Endpoint Security
239
+ --driver-kit-family-hid-device Disable DriverKit Family HID Device
240
+ --driver-kit-family-networking Disable DriverKit Family Networking
241
+ --driver-kit-family-serial Disable DriverKit Family Serial
242
+ --driver-kit-hid-event-service Disable DriverKit HID EventService
243
+ --driver-kit-transport-hid Disable DriverKit Transport HID
244
+ --multitasking-camera-access Disable Multitasking Camera Access
245
+ --sf-universal-link-api Disable SFUniversalLink API
246
+ --vp9-decoder Disable VP9 Decoder
247
+ --music-kit Disable MusicKit
248
+ --shazam-kit Disable ShazamKit
249
+ --communication-notifications Disable Communication Notifications
250
+ --group-activities Disable Group Activities
251
+ --health-kit-estimate-recalibration Disable HealthKit Estimate Recalibration
252
+ --time-sensitive-notifications Disable Time Sensitive Notifications
183
253
  ```
184
254
 
185
255
  ## Creating Apple Pay merchants and associating them with an App ID
@@ -236,30 +306,64 @@ lane :release do
236
306
  # Optional
237
307
  # App services can be enabled during app creation
238
308
  enable_services: {
239
- access_wifi: "on", # Valid values: "on", "off"
240
- app_group: "on", # Valid values: "on", "off"
241
- apple_pay: "on", # Valid values: "on", "off"
242
- associated_domains: "on", # Valid values: "on", "off"
243
- auto_fill_credential: "on", # Valid values: "on", "off"
244
- data_protection: "complete", # Valid values: "complete", "unlessopen", "untilfirstauth",
245
- game_center: "on", # Valid values: "on", "off"
246
- health_kit: "on", # Valid values: "on", "off"
247
- home_kit: "on", # Valid values: "on", "off"
248
- hotspot: "on", # Valid values: "on", "off"
249
- icloud: "cloudkit", # Valid values: "legacy", "cloudkit"
250
- in_app_purchase: "on", # Valid values: "on", "off"
251
- inter_app_audio: "on", # Valid values: "on", "off"
252
- passbook: "on", # Valid values: "on", "off"
253
- multipath: "on", # Valid values: "on", "off"
254
- network_extension: "on", # Valid values: "on", "off"
255
- nfc_tag_reading: "on", # Valid values: "on", "off"
256
- personal_vpn: "on", # Valid values: "on", "off"
257
- passbook: "on", # Valid values: "on", "off" (deprecated)
258
- push_notification: "on", # Valid values: "on", "off"
259
- siri_kit: "on", # Valid values: "on", "off"
260
- vpn_configuration: "on", # Valid values: "on", "off" (deprecated)
261
- wallet: "on", # Valid values: "on", "off"
262
- wireless_accessory: "on", # Valid values: "on", "off"
309
+ access_wifi: "on", # Valid values: "on", "off"
310
+ app_attest: "on", # Valid values: "on", "off"
311
+ app_group: "on", # Valid values: "on", "off"
312
+ apple_pay: "on", # Valid values: "on", "off"
313
+ associated_domains: "on", # Valid values: "on", "off"
314
+ auto_fill_credential: "on", # Valid values: "on", "off"
315
+ car_play_audio_app: "on", # Valid values: "on", "off"
316
+ car_play_messaging_app: "on", # Valid values: "on", "off"
317
+ car_play_navigation_app: "on", # Valid values: "on", "off"
318
+ car_play_voip_calling_app: "on", # Valid values: "on", "off"
319
+ class_kit: "on", # Valid values: "on", "off"
320
+ icloud: "xcode5_compatible", # Valid values: "xcode5_compatible", "xcode6_compatible", "off"
321
+ critical_alerts: "on", # Valid values: "on", "off"
322
+ custom_network_protocol: "on", # Valid values: "on", "off"
323
+ data_protection: "complete", # Valid values: "complete", "unlessopen", "untilfirstauth", "off"
324
+ extended_virtual_address_space: "on", # Valid values: "on", "off"
325
+ file_provider_testing_mode: "on", # Valid values: "on", "off"
326
+ fonts: "on", # Valid values: "on", "off"
327
+ game_center: "ios", # Valid values: "ios", "macos", off"
328
+ health_kit: "on", # Valid values: "on", "off"
329
+ hls_interstitial_preview: "on", # Valid values: "on", "off"
330
+ home_kit: "on", # Valid values: "on", "off"
331
+ hotspot: "on", # Valid values: "on", "off"
332
+ hotspot_helper: "on", # Valid values: "on", "off"
333
+ in_app_purchase: "on", # Valid values: "on", "off"
334
+ inter_app_audio: "on", # Valid values: "on", "off"
335
+ low_latency_hls: "on", # Valid values: "on", "off"
336
+ managed_associated_domains: "on", # Valid values: "on", "off"
337
+ maps: "on", # Valid values: "on", "off"
338
+ multipath: "on", # Valid values: "on", "off"
339
+ network_extension: "on", # Valid values: "on", "off"
340
+ nfc_tag_reading: "on", # Valid values: "on", "off"
341
+ passbook: "on", # Valid values: "on", "off" (deprecated)
342
+ personal_vpn: "on", # Valid values: "on", "off"
343
+ push_notification: "on", # Valid values: "on", "off"
344
+ sign_in_with_apple: "on", # Valid values: "on", "off"
345
+ siri_kit: "on", # Valid values: "on", "off"
346
+ system_extension: "on", # Valid values: "on", "off"
347
+ user_management: "on", # Valid values: "on", "off"
348
+ vpn_configuration: "on", # Valid values: "on", "off" (deprecated)
349
+ wallet: "on", # Valid values: "on", "off"
350
+ wireless_accessory: "on", # Valid values: "on", "off"
351
+ driver_kit: "on", # Valid values: "on", "off"
352
+ driver_kit_endpoint_security: "on", # Valid values: "on", "off"
353
+ driver_kit_family_hid_device: "on", # Valid values: "on", "off"
354
+ driver_kit_family_networking: "on", # Valid values: "on", "off"
355
+ driver_kit_family_serial: "on", # Valid values: "on", "off"
356
+ driver_kit_hid_event_service: "on", # Valid values: "on", "off"
357
+ driver_kit_transport_hid: "on", # Valid values: "on", "off"
358
+ multitasking_camera_access: "on", # Valid values: "on", "off"
359
+ sf_universal_link_api: "on", # Valid values: "on", "off"
360
+ vp9_decoder: "on", # Valid values: "on", "off"
361
+ music_kit: "on", # Valid values: "on", "off"
362
+ shazam_kit: "on", # Valid values: "on", "off"
363
+ communication_notifications: "on", # Valid values: "on", "off"
364
+ group_activities: "on", # Valid values: "on", "off"
365
+ health_kit_estimate_recalibration: "on", # Valid values: "on", "off"
366
+ time_sensitive_notifications: "on", # Valid values: "on", "off"
263
367
  }
264
368
  )
265
369