fastlane 2.212.1 → 2.219.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +100 -100
  3. data/deliver/lib/deliver/app_screenshot.rb +22 -12
  4. data/deliver/lib/deliver/app_screenshot_iterator.rb +2 -2
  5. data/deliver/lib/deliver/detect_values.rb +1 -1
  6. data/deliver/lib/deliver/languages.rb +1 -1
  7. data/deliver/lib/deliver/loader.rb +2 -2
  8. data/deliver/lib/deliver/options.rb +4 -4
  9. data/deliver/lib/deliver/runner.rb +10 -9
  10. data/deliver/lib/deliver/submit_for_review.rb +13 -0
  11. data/deliver/lib/deliver/sync_screenshots.rb +2 -2
  12. data/deliver/lib/deliver/upload_metadata.rb +60 -15
  13. data/deliver/lib/deliver/upload_price_tier.rb +2 -2
  14. data/deliver/lib/deliver/upload_screenshots.rb +3 -3
  15. data/fastlane/lib/assets/custom_action_template.rb +18 -12
  16. data/fastlane/lib/fastlane/action.rb +1 -1
  17. data/fastlane/lib/fastlane/actions/appledoc.rb +1 -1
  18. data/fastlane/lib/fastlane/actions/apteligent.rb +1 -1
  19. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +1 -1
  20. data/fastlane/lib/fastlane/actions/commit_github_file.rb +2 -2
  21. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +1 -1
  22. data/fastlane/lib/fastlane/actions/create_app_online.rb +1 -1
  23. data/fastlane/lib/fastlane/actions/create_pull_request.rb +1 -1
  24. data/fastlane/lib/fastlane/actions/docs/build_app.md +2 -2
  25. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +8 -8
  26. data/fastlane/lib/fastlane/actions/docs/check_app_store_metadata.md +3 -3
  27. data/fastlane/lib/fastlane/actions/docs/get_push_certificate.md +2 -2
  28. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +6 -4
  29. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +1 -1
  30. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +6 -2
  31. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +1 -1
  32. data/fastlane/lib/fastlane/actions/download_universal_apk_from_google_play.rb +124 -0
  33. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +44 -5
  34. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +4 -0
  35. data/fastlane/lib/fastlane/actions/get_certificates.rb +1 -1
  36. data/fastlane/lib/fastlane/actions/get_github_release.rb +1 -1
  37. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +1 -1
  38. data/fastlane/lib/fastlane/actions/git_branch.rb +1 -1
  39. data/fastlane/lib/fastlane/actions/github_api.rb +1 -1
  40. data/fastlane/lib/fastlane/actions/gradle.rb +1 -1
  41. data/fastlane/lib/fastlane/actions/install_on_device.rb +2 -2
  42. data/fastlane/lib/fastlane/actions/ipa.rb +1 -1
  43. data/fastlane/lib/fastlane/actions/jazzy.rb +1 -1
  44. data/fastlane/lib/fastlane/actions/nexus_upload.rb +1 -0
  45. data/fastlane/lib/fastlane/actions/notarize.rb +17 -2
  46. data/fastlane/lib/fastlane/actions/oclint.rb +3 -3
  47. data/fastlane/lib/fastlane/actions/opt_out_crash_reporting.rb +2 -2
  48. data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
  49. data/fastlane/lib/fastlane/actions/set_github_release.rb +1 -1
  50. data/fastlane/lib/fastlane/actions/slather.rb +18 -5
  51. data/fastlane/lib/fastlane/actions/sonar.rb +12 -3
  52. data/fastlane/lib/fastlane/actions/splunkmint.rb +1 -1
  53. data/fastlane/lib/fastlane/actions/spm.rb +76 -2
  54. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  55. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +1 -1
  56. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +1 -0
  57. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
  58. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +2 -2
  59. data/fastlane/lib/fastlane/actions/verify_build.rb +7 -4
  60. data/fastlane/lib/fastlane/actions/xcov.rb +1 -1
  61. data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -1
  62. data/fastlane/lib/fastlane/command_line_handler.rb +2 -4
  63. data/fastlane/lib/fastlane/commands_generator.rb +2 -2
  64. data/fastlane/lib/fastlane/fast_file.rb +1 -1
  65. data/fastlane/lib/fastlane/helper/dotenv_helper.rb +1 -1
  66. data/fastlane/lib/fastlane/helper/git_helper.rb +3 -0
  67. data/fastlane/lib/fastlane/helper/xcodes_helper.rb +0 -3
  68. data/fastlane/lib/fastlane/junit_generator.rb +1 -1
  69. data/fastlane/lib/fastlane/lane.rb +9 -1
  70. data/fastlane/lib/fastlane/lane_manager.rb +1 -2
  71. data/fastlane/lib/fastlane/new_action.rb +1 -1
  72. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +3 -3
  73. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -13
  74. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +9 -1
  75. data/fastlane/lib/fastlane/plugins/template/Gemfile.erb +27 -0
  76. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +1 -1
  77. data/fastlane/lib/fastlane/runner.rb +2 -2
  78. data/fastlane/lib/fastlane/setup/setup.rb +1 -1
  79. data/fastlane/lib/fastlane/swift_lane_manager.rb +2 -5
  80. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +7 -4
  81. data/fastlane/lib/fastlane/version.rb +2 -2
  82. data/fastlane/swift/Actions.swift +1 -1
  83. data/fastlane/swift/Appfile.swift +1 -1
  84. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  85. data/fastlane/swift/Atomic.swift +1 -1
  86. data/fastlane/swift/ControlCommand.swift +1 -1
  87. data/fastlane/swift/Deliverfile.swift +2 -2
  88. data/fastlane/swift/DeliverfileProtocol.swift +4 -4
  89. data/fastlane/swift/Fastlane.swift +227 -36
  90. data/fastlane/swift/Gymfile.swift +2 -2
  91. data/fastlane/swift/GymfileProtocol.swift +2 -2
  92. data/fastlane/swift/LaneFileProtocol.swift +5 -5
  93. data/fastlane/swift/MainProcess.swift +1 -1
  94. data/fastlane/swift/Matchfile.swift +2 -2
  95. data/fastlane/swift/MatchfileProtocol.swift +22 -2
  96. data/fastlane/swift/OptionalConfigValue.swift +1 -1
  97. data/fastlane/swift/Plugins.swift +1 -1
  98. data/fastlane/swift/Precheckfile.swift +2 -2
  99. data/fastlane/swift/PrecheckfileProtocol.swift +2 -2
  100. data/fastlane/swift/RubyCommand.swift +1 -1
  101. data/fastlane/swift/RubyCommandable.swift +1 -1
  102. data/fastlane/swift/Runner.swift +1 -1
  103. data/fastlane/swift/RunnerArgument.swift +1 -1
  104. data/fastlane/swift/Scanfile.swift +2 -2
  105. data/fastlane/swift/ScanfileProtocol.swift +6 -2
  106. data/fastlane/swift/Screengrabfile.swift +2 -2
  107. data/fastlane/swift/ScreengrabfileProtocol.swift +2 -2
  108. data/fastlane/swift/Snapshotfile.swift +2 -2
  109. data/fastlane/swift/SnapshotfileProtocol.swift +2 -2
  110. data/fastlane/swift/SocketClient.swift +1 -1
  111. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  112. data/fastlane/swift/SocketResponse.swift +1 -1
  113. data/fastlane/swift/formatting/Brewfile.lock.json +31 -23
  114. data/fastlane/swift/main.swift +1 -1
  115. data/fastlane_core/lib/fastlane_core/build_watcher.rb +1 -1
  116. data/fastlane_core/lib/fastlane_core/cert_checker.rb +4 -9
  117. data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +1 -1
  118. data/fastlane_core/lib/fastlane_core/device_manager.rb +17 -15
  119. data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +34 -12
  120. data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
  121. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +53 -16
  122. data/fastlane_core/lib/fastlane_core/project.rb +7 -2
  123. data/fastlane_core/lib/fastlane_core/queue_worker.rb +2 -2
  124. data/fastlane_core/lib/fastlane_core/string_filters.rb +6 -6
  125. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +2 -2
  126. data/frameit/lib/frameit/device_types.rb +1 -1
  127. data/frameit/lib/frameit/editor.rb +4 -4
  128. data/frameit/lib/frameit/trim_box.rb +1 -1
  129. data/gym/lib/gym/error_handler.rb +1 -1
  130. data/gym/lib/gym/generators/build_command_generator.rb +1 -1
  131. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +3 -3
  132. data/gym/lib/gym/module.rb +13 -2
  133. data/gym/lib/gym/options.rb +1 -1
  134. data/gym/lib/gym/runner.rb +1 -1
  135. data/gym/lib/gym/xcodebuild_fixes/README.md +1 -1
  136. data/match/lib/match/change_password.rb +3 -9
  137. data/match/lib/match/commands_generator.rb +3 -6
  138. data/match/lib/match/encryption.rb +1 -1
  139. data/match/lib/match/generator.rb +9 -1
  140. data/match/lib/match/importer.rb +3 -30
  141. data/match/lib/match/migrate.rb +6 -2
  142. data/match/lib/match/module.rb +2 -1
  143. data/match/lib/match/nuke.rb +3 -24
  144. data/match/lib/match/options.rb +25 -0
  145. data/match/lib/match/portal_cache.rb +106 -0
  146. data/match/lib/match/portal_fetcher.rb +72 -0
  147. data/match/lib/match/profile_includes.rb +120 -0
  148. data/match/lib/match/runner.rb +93 -209
  149. data/match/lib/match/setup.rb +1 -1
  150. data/match/lib/match/spaceship_ensure.rb +15 -11
  151. data/match/lib/match/storage/git_storage.rb +17 -4
  152. data/match/lib/match/storage/gitlab/client.rb +40 -14
  153. data/match/lib/match/storage/gitlab_secure_files.rb +18 -7
  154. data/match/lib/match/storage/interface.rb +1 -1
  155. data/match/lib/match/storage/s3_storage.rb +7 -1
  156. data/match/lib/match/storage.rb +56 -5
  157. data/match/lib/match.rb +3 -0
  158. data/pilot/lib/pilot/build_manager.rb +4 -4
  159. data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +1 -1
  160. data/produce/lib/produce/itunes_connect.rb +1 -1
  161. data/scan/lib/scan/detect_values.rb +86 -21
  162. data/scan/lib/scan/options.rb +6 -1
  163. data/scan/lib/scan/runner.rb +1 -1
  164. data/scan/lib/scan/test_command_generator.rb +1 -1
  165. data/screengrab/lib/screengrab/runner.rb +1 -1
  166. data/sigh/lib/assets/resign.sh +10 -10
  167. data/sigh/lib/sigh/commands_generator.rb +1 -1
  168. data/sigh/lib/sigh/module.rb +98 -0
  169. data/sigh/lib/sigh/options.rb +55 -1
  170. data/sigh/lib/sigh/resign.rb +1 -1
  171. data/sigh/lib/sigh/runner.rb +36 -112
  172. data/snapshot/lib/assets/SnapshotHelper.swift +13 -9
  173. data/snapshot/lib/snapshot/latest_os_version.rb +2 -5
  174. data/snapshot/lib/snapshot/reports_generator.rb +48 -7
  175. data/snapshot/lib/snapshot/setup.rb +2 -2
  176. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +23 -22
  177. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -2
  178. data/snapshot/lib/snapshot/test_command_generator.rb +1 -1
  179. data/spaceship/lib/spaceship/client.rb +1 -2
  180. data/spaceship/lib/spaceship/connect_api/api_client.rb +22 -3
  181. data/spaceship/lib/spaceship/connect_api/client.rb +4 -4
  182. data/spaceship/lib/spaceship/connect_api/models/app.rb +5 -4
  183. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +15 -9
  184. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +2 -0
  185. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +2 -2
  186. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +7 -0
  187. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -0
  188. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +3 -1
  189. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +5 -5
  190. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +3 -3
  191. data/spaceship/lib/spaceship/connect_api/models/device.rb +83 -4
  192. data/spaceship/lib/spaceship/connect_api/models/profile.rb +5 -3
  193. data/spaceship/lib/spaceship/connect_api/models/user.rb +38 -0
  194. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +5 -15
  195. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +14 -8
  196. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +8 -2
  197. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +3 -6
  198. data/spaceship/lib/spaceship/connect_api/users/users.rb +34 -0
  199. data/spaceship/lib/spaceship/connect_api.rb +2 -0
  200. data/spaceship/lib/spaceship/portal/app.rb +1 -1
  201. data/spaceship/lib/spaceship/portal/app_group.rb +1 -1
  202. data/spaceship/lib/spaceship/test_flight/client.rb +1 -1
  203. data/spaceship/lib/spaceship/test_flight/tester.rb +1 -1
  204. data/spaceship/lib/spaceship/tunes/app_details.rb +2 -2
  205. data/spaceship/lib/spaceship/tunes/app_image.rb +1 -1
  206. data/spaceship/lib/spaceship/tunes/app_review_attachment.rb +1 -1
  207. data/spaceship/lib/spaceship/tunes/app_submission.rb +1 -1
  208. data/spaceship/lib/spaceship/tunes/app_version.rb +5 -5
  209. data/spaceship/lib/spaceship/tunes/build_details.rb +1 -1
  210. data/spaceship/lib/spaceship/tunes/iap.rb +3 -3
  211. data/spaceship/lib/spaceship/tunes/iap_detail.rb +2 -2
  212. data/spaceship/lib/spaceship/tunes/iap_families.rb +1 -1
  213. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +2 -2
  214. data/spaceship/lib/spaceship/tunes/iap_family_list.rb +1 -1
  215. data/spaceship/lib/spaceship/tunes/tunes_client.rb +3 -3
  216. data/supply/lib/supply/client.rb +80 -21
  217. data/supply/lib/supply/generated_universal_apk.rb +24 -0
  218. data/supply/lib/supply/image_listing.rb +15 -0
  219. data/supply/lib/supply/options.rb +5 -0
  220. data/supply/lib/supply/setup.rb +2 -2
  221. data/supply/lib/supply/uploader.rb +60 -18
  222. data/supply/lib/supply.rb +2 -0
  223. data/trainer/lib/trainer/junit_generator.rb +1 -1
  224. data/trainer/lib/trainer/test_parser.rb +1 -1
  225. data/trainer/lib/trainer/xcresult.rb +1 -1
  226. metadata +205 -431
  227. data/fastlane/lib/fastlane/plugins/template/Gemfile +0 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 244364fbe5e40c851dc1afbb79fe8c79ba76fedee6e607d7cf950f043ba7b921
4
- data.tar.gz: 5f4f4f4462eb64a87ed63df0ece646c100ae8d3a0c37a84eff9cbad76f51c2a8
3
+ metadata.gz: fc5ecf6d8cf5ad100811fa9a386cf6bdc02d8e4054663e2c3a59d94624a7cda8
4
+ data.tar.gz: 4bf38a96eba5cf4cb1918155136ead760e2462e8b2bdbd19bf2f7f29afbb39a3
5
5
  SHA512:
6
- metadata.gz: ae5c7a99e698db70b74516d415601ee4368fa864cd114a867d44098e0e52a2b68a361fc0178f902c0f0e6fefe3618639a259c92bde33906cb6a0501aa82d18e2
7
- data.tar.gz: b736ceec481316c6d9cde333299bff4c8145e5b11f5e802acb60a9c59028c9a9444a7a771dcf8f21f952a3cd64e2959e7a87ae224fecad503e34a1d032481123
6
+ metadata.gz: 67749a0ada8ac8654b5d3b42221e41562249a014435e9f0bf8354e441370b072e34a25e422d40c81266a1395969d56c8898e6e0492d7d17b82e2c98864d97791
7
+ data.tar.gz: 7e9d404f597ad89a09df94ca1c51b4f1bf6a894493cf66c6efb69eefd93bce34e429407d80cdb289a2170b70f9619ef4f8f77af1065c78aa3ba6a6602540b034
data/README.md CHANGED
@@ -35,43 +35,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
35
35
  <!-- This table is regenerated and resorted on each release -->
36
36
  <table id='team'>
37
37
  <tr>
38
- <td id='roger-oba'>
39
- <a href='https://github.com/rogerluan'>
40
- <img src='https://github.com/rogerluan.png' width='140px;'>
41
- </a>
42
- <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
43
- </td>
44
- <td id='fumiya-nakamura'>
45
- <a href='https://github.com/nafu'>
46
- <img src='https://github.com/nafu.png' width='140px;'>
47
- </a>
48
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
49
- </td>
50
- <td id='josh-holtz'>
51
- <a href='https://github.com/joshdholtz'>
52
- <img src='https://github.com/joshdholtz.png' width='140px;'>
53
- </a>
54
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
55
- </td>
56
- <td id='daniel-jankowski'>
57
- <a href='https://github.com/mollyIV'>
58
- <img src='https://github.com/mollyIV.png' width='140px;'>
59
- </a>
60
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
61
- </td>
62
- <td id='jan-piotrowski'>
63
- <a href='https://github.com/janpio'>
64
- <img src='https://github.com/janpio.png' width='140px;'>
38
+ <td id='manu-wallner'>
39
+ <a href='https://github.com/milch'>
40
+ <img src='https://github.com/milch.png' width='140px;'>
65
41
  </a>
66
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
67
43
  </td>
68
- </tr>
69
- <tr>
70
- <td id='satoshi-namai'>
71
- <a href='https://github.com/ainame'>
72
- <img src='https://github.com/ainame.png' width='140px;'>
44
+ <td id='joshua-liebowitz'>
45
+ <a href='https://github.com/taquitos'>
46
+ <img src='https://github.com/taquitos.png' width='140px;'>
73
47
  </a>
74
- <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
48
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
75
49
  </td>
76
50
  <td id='danielle-tomlinson'>
77
51
  <a href='https://github.com/endocrimes'>
@@ -79,31 +53,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
79
53
  </a>
80
54
  <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
81
55
  </td>
82
- <td id='stefan-natchev'>
83
- <a href='https://github.com/snatchev'>
84
- <img src='https://github.com/snatchev.png' width='140px;'>
85
- </a>
86
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
87
- </td>
88
- <td id='matthew-ellis'>
89
- <a href='https://github.com/matthewellis'>
90
- <img src='https://github.com/matthewellis.png' width='140px;'>
56
+ <td id='satoshi-namai'>
57
+ <a href='https://github.com/ainame'>
58
+ <img src='https://github.com/ainame.png' width='140px;'>
91
59
  </a>
92
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
60
+ <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
93
61
  </td>
94
- <td id='iulian-onofrei'>
95
- <a href='https://github.com/revolter'>
96
- <img src='https://github.com/revolter.png' width='140px;'>
62
+ <td id='felix-krause'>
63
+ <a href='https://github.com/KrauseFx'>
64
+ <img src='https://github.com/KrauseFx.png' width='140px;'>
97
65
  </a>
98
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
66
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
99
67
  </td>
100
68
  </tr>
101
69
  <tr>
102
- <td id='jorge-revuelta-h'>
103
- <a href='https://github.com/minuscorp'>
104
- <img src='https://github.com/minuscorp.png' width='140px;'>
70
+ <td id='łukasz-grabowski'>
71
+ <a href='https://github.com/lucgrabowski'>
72
+ <img src='https://github.com/lucgrabowski.png' width='140px;'>
105
73
  </a>
106
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
74
+ <h4 align='center'>Łukasz Grabowski</h4>
107
75
  </td>
108
76
  <td id='maksym-grebenets'>
109
77
  <a href='https://github.com/mgrebenets'>
@@ -111,23 +79,23 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
111
79
  </a>
112
80
  <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
113
81
  </td>
114
- <td id='luka-mirosevic'>
115
- <a href='https://github.com/lmirosevic'>
116
- <img src='https://github.com/lmirosevic.png' width='140px;'>
82
+ <td id='fumiya-nakamura'>
83
+ <a href='https://github.com/nafu'>
84
+ <img src='https://github.com/nafu.png' width='140px;'>
117
85
  </a>
118
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
86
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
119
87
  </td>
120
- <td id='manish-rathi'>
121
- <a href='https://github.com/crazymanish'>
122
- <img src='https://github.com/crazymanish.png' width='140px;'>
88
+ <td id='jérôme-lacoste'>
89
+ <a href='https://github.com/lacostej'>
90
+ <img src='https://github.com/lacostej.png' width='140px;'>
123
91
  </a>
124
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
92
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
125
93
  </td>
126
- <td id='felix-krause'>
127
- <a href='https://github.com/KrauseFx'>
128
- <img src='https://github.com/KrauseFx.png' width='140px;'>
94
+ <td id='stefan-natchev'>
95
+ <a href='https://github.com/snatchev'>
96
+ <img src='https://github.com/snatchev.png' width='140px;'>
129
97
  </a>
130
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
98
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
131
99
  </td>
132
100
  </tr>
133
101
  <tr>
@@ -137,43 +105,75 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
137
105
  </a>
138
106
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
139
107
  </td>
140
- <td id='olivier-halligon'>
141
- <a href='https://github.com/AliSoftware'>
142
- <img src='https://github.com/AliSoftware.png' width='140px;'>
108
+ <td id='manish-rathi'>
109
+ <a href='https://github.com/crazymanish'>
110
+ <img src='https://github.com/crazymanish.png' width='140px;'>
143
111
  </a>
144
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
112
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
145
113
  </td>
146
- <td id='łukasz-grabowski'>
147
- <a href='https://github.com/lucgrabowski'>
148
- <img src='https://github.com/lucgrabowski.png' width='140px;'>
114
+ <td id='max-ott'>
115
+ <a href='https://github.com/max-ott'>
116
+ <img src='https://github.com/max-ott.png' width='140px;'>
149
117
  </a>
150
- <h4 align='center'>Łukasz Grabowski</h4>
118
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
151
119
  </td>
152
- <td id='kohki-miki'>
153
- <a href='https://github.com/giginet'>
154
- <img src='https://github.com/giginet.png' width='140px;'>
120
+ <td id='jimmy-dee'>
121
+ <a href='https://github.com/jdee'>
122
+ <img src='https://github.com/jdee.png' width='140px;'>
155
123
  </a>
156
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
124
+ <h4 align='center'>Jimmy Dee</h4>
157
125
  </td>
158
- <td id='joshua-liebowitz'>
159
- <a href='https://github.com/taquitos'>
160
- <img src='https://github.com/taquitos.png' width='140px;'>
126
+ <td id='roger-oba'>
127
+ <a href='https://github.com/rogerluan'>
128
+ <img src='https://github.com/rogerluan.png' width='140px;'>
161
129
  </a>
162
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
130
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
163
131
  </td>
164
132
  </tr>
165
133
  <tr>
166
- <td id='jimmy-dee'>
167
- <a href='https://github.com/jdee'>
168
- <img src='https://github.com/jdee.png' width='140px;'>
134
+ <td id='iulian-onofrei'>
135
+ <a href='https://github.com/revolter'>
136
+ <img src='https://github.com/revolter.png' width='140px;'>
169
137
  </a>
170
- <h4 align='center'>Jimmy Dee</h4>
138
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
171
139
  </td>
172
- <td id='manu-wallner'>
173
- <a href='https://github.com/milch'>
174
- <img src='https://github.com/milch.png' width='140px;'>
140
+ <td id='josh-holtz'>
141
+ <a href='https://github.com/joshdholtz'>
142
+ <img src='https://github.com/joshdholtz.png' width='140px;'>
175
143
  </a>
176
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
144
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
145
+ </td>
146
+ <td id='daniel-jankowski'>
147
+ <a href='https://github.com/mollyIV'>
148
+ <img src='https://github.com/mollyIV.png' width='140px;'>
149
+ </a>
150
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
151
+ </td>
152
+ <td id='andrew-mcburney'>
153
+ <a href='https://github.com/armcburney'>
154
+ <img src='https://github.com/armcburney.png' width='140px;'>
155
+ </a>
156
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
157
+ </td>
158
+ <td id='jan-piotrowski'>
159
+ <a href='https://github.com/janpio'>
160
+ <img src='https://github.com/janpio.png' width='140px;'>
161
+ </a>
162
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
163
+ </td>
164
+ </tr>
165
+ <tr>
166
+ <td id='luka-mirosevic'>
167
+ <a href='https://github.com/lmirosevic'>
168
+ <img src='https://github.com/lmirosevic.png' width='140px;'>
169
+ </a>
170
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
171
+ </td>
172
+ <td id='kohki-miki'>
173
+ <a href='https://github.com/giginet'>
174
+ <img src='https://github.com/giginet.png' width='140px;'>
175
+ </a>
176
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
177
177
  </td>
178
178
  <td id='aaron-brager'>
179
179
  <a href='https://github.com/getaaron'>
@@ -181,25 +181,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
181
181
  </a>
182
182
  <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
183
183
  </td>
184
- <td id='max-ott'>
185
- <a href='https://github.com/max-ott'>
186
- <img src='https://github.com/max-ott.png' width='140px;'>
184
+ <td id='olivier-halligon'>
185
+ <a href='https://github.com/AliSoftware'>
186
+ <img src='https://github.com/AliSoftware.png' width='140px;'>
187
187
  </a>
188
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
188
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
189
189
  </td>
190
- <td id='andrew-mcburney'>
191
- <a href='https://github.com/armcburney'>
192
- <img src='https://github.com/armcburney.png' width='140px;'>
190
+ <td id='jorge-revuelta-h'>
191
+ <a href='https://github.com/minuscorp'>
192
+ <img src='https://github.com/minuscorp.png' width='140px;'>
193
193
  </a>
194
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
194
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
195
195
  </td>
196
196
  </tr>
197
197
  <tr>
198
- <td id='jérôme-lacoste'>
199
- <a href='https://github.com/lacostej'>
200
- <img src='https://github.com/lacostej.png' width='140px;'>
198
+ <td id='matthew-ellis'>
199
+ <a href='https://github.com/matthewellis'>
200
+ <img src='https://github.com/matthewellis.png' width='140px;'>
201
201
  </a>
202
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
202
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
203
203
  </td>
204
204
  </table>
205
205
 
@@ -19,9 +19,9 @@ module Deliver
19
19
  IOS_55 = "iOS-5.5-in"
20
20
  # iPhone XS
21
21
  IOS_58 = "iOS-5.8-in"
22
- # iPhone XR
22
+ # iPhone 14 Pro
23
23
  IOS_61 = "iOS-6.1-in"
24
- # iPhone XS Max
24
+ # iPhone 14 Plus, iPhone 13 Pro Max, iPhone 12 Pro Max, iPhone 11 Pro Max, iPhone 11, iPhone XS Max, iPhone XR
25
25
  IOS_65 = "iOS-6.5-in"
26
26
  # iPhone 14 Pro Max
27
27
  IOS_67 = "iOS-6.7-in"
@@ -45,9 +45,9 @@ module Deliver
45
45
  IOS_55_MESSAGES = "iOS-5.5-in-messages"
46
46
  # iPhone XS iMessage
47
47
  IOS_58_MESSAGES = "iOS-5.8-in-messages"
48
- # iPhone XR iMessage
48
+ # iPhone 14 Pro iMessage
49
49
  IOS_61_MESSAGES = "iOS-6.1-in-messages"
50
- # iPhone XS Max iMessage
50
+ # iPhone 14 Plus, iPhone 13 Pro Max, iPhone 12 Pro Max, iPhone 11 Pro Max, iPhone 11, iPhone XS Max, iPhone XR iMessage
51
51
  IOS_65_MESSAGES = "iOS-6.5-in-messages"
52
52
  # iPhone 14 Pro Max iMessage
53
53
  IOS_67_MESSAGES = "iOS-6.7-in-messages"
@@ -69,6 +69,8 @@ module Deliver
69
69
  IOS_APPLE_WATCH_SERIES4 = "iOS-Apple-Watch-Series4"
70
70
  # Apple Watch Series 7
71
71
  IOS_APPLE_WATCH_SERIES7 = "iOS-Apple-Watch-Series7"
72
+ # Apple Watch Ultra
73
+ IOS_APPLE_WATCH_ULTRA = "iOS-Apple-Watch-Ultra"
72
74
 
73
75
  # Apple TV
74
76
  APPLE_TV = "Apple-TV"
@@ -104,6 +106,7 @@ module Deliver
104
106
  ScreenSize::IOS_47 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_47, # also 7 & 8
105
107
  ScreenSize::IOS_55 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_55, # also 7 Plus & 8 Plus
106
108
  ScreenSize::IOS_58 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_58,
109
+ ScreenSize::IOS_61 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_61,
107
110
  ScreenSize::IOS_65 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_65,
108
111
  ScreenSize::IOS_67 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_67,
109
112
  ScreenSize::IOS_IPAD => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPAD_97,
@@ -115,6 +118,7 @@ module Deliver
115
118
  ScreenSize::IOS_47_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_47, # also 7 & 8
116
119
  ScreenSize::IOS_55_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_55, # also 7 Plus & 8 Plus
117
120
  ScreenSize::IOS_58_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_58,
121
+ ScreenSize::IOS_61_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_61,
118
122
  ScreenSize::IOS_65_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_65,
119
123
  ScreenSize::IOS_67_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_67,
120
124
  ScreenSize::IOS_IPAD_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPAD_97,
@@ -126,6 +130,7 @@ module Deliver
126
130
  ScreenSize::IOS_APPLE_WATCH => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_WATCH_SERIES_3,
127
131
  ScreenSize::IOS_APPLE_WATCH_SERIES4 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_WATCH_SERIES_4,
128
132
  ScreenSize::IOS_APPLE_WATCH_SERIES7 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_WATCH_SERIES_7,
133
+ ScreenSize::IOS_APPLE_WATCH_ULTRA => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_WATCH_ULTRA,
129
134
  ScreenSize::APPLE_TV => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_APPLE_TV
130
135
  }
131
136
  return matching[self.screen_size]
@@ -139,7 +144,7 @@ module Deliver
139
144
  ScreenSize::IOS_47 => "iPhone 6", # also 7 & 8
140
145
  ScreenSize::IOS_55 => "iPhone 6 Plus", # also 7 Plus & 8 Plus
141
146
  ScreenSize::IOS_58 => "iPhone XS",
142
- ScreenSize::IOS_61 => "iPhone XR",
147
+ ScreenSize::IOS_61 => "iPhone 14 Pro",
143
148
  ScreenSize::IOS_65 => "iPhone XS Max",
144
149
  ScreenSize::IOS_67 => "iPhone 14 Pro Max",
145
150
  ScreenSize::IOS_IPAD => "iPad",
@@ -151,7 +156,7 @@ module Deliver
151
156
  ScreenSize::IOS_47_MESSAGES => "iPhone 6 (iMessage)", # also 7 & 8
152
157
  ScreenSize::IOS_55_MESSAGES => "iPhone 6 Plus (iMessage)", # also 7 Plus & 8 Plus
153
158
  ScreenSize::IOS_58_MESSAGES => "iPhone XS (iMessage)",
154
- ScreenSize::IOS_61_MESSAGES => "iPhone XR (iMessage)",
159
+ ScreenSize::IOS_61_MESSAGES => "iPhone 14 Pro (iMessage)",
155
160
  ScreenSize::IOS_65_MESSAGES => "iPhone XS Max (iMessage)",
156
161
  ScreenSize::IOS_67_MESSAGES => "iPhone 14 Pro Max (iMessage)",
157
162
  ScreenSize::IOS_IPAD_MESSAGES => "iPad (iMessage)",
@@ -163,6 +168,7 @@ module Deliver
163
168
  ScreenSize::IOS_APPLE_WATCH => "Watch",
164
169
  ScreenSize::IOS_APPLE_WATCH_SERIES4 => "Watch Series4",
165
170
  ScreenSize::IOS_APPLE_WATCH_SERIES7 => "Watch Series7",
171
+ ScreenSize::IOS_APPLE_WATCH_ULTRA => "Watch Ultra",
166
172
  ScreenSize::APPLE_TV => "Apple TV"
167
173
  }
168
174
  return matching[self.screen_size]
@@ -182,6 +188,7 @@ module Deliver
182
188
  ScreenSize::IOS_47_MESSAGES,
183
189
  ScreenSize::IOS_55_MESSAGES,
184
190
  ScreenSize::IOS_58_MESSAGES,
191
+ ScreenSize::IOS_61_MESSAGES,
185
192
  ScreenSize::IOS_65_MESSAGES,
186
193
  ScreenSize::IOS_67_MESSAGES,
187
194
  ScreenSize::IOS_IPAD_MESSAGES,
@@ -194,7 +201,7 @@ module Deliver
194
201
 
195
202
  def self.device_messages
196
203
  # This list does not include iPad Pro 12.9-inch (3rd generation)
197
- # because it has same resoluation as IOS_IPAD_PRO and will clobber
204
+ # because it has same resolution as IOS_IPAD_PRO and will clobber
198
205
  return {
199
206
  ScreenSize::IOS_67_MESSAGES => [
200
207
  [1290, 2796],
@@ -207,8 +214,8 @@ module Deliver
207
214
  [2778, 1284]
208
215
  ],
209
216
  ScreenSize::IOS_61_MESSAGES => [
210
- [828, 1792],
211
- [1792, 828]
217
+ [1179, 2556],
218
+ [2556, 1179]
212
219
  ],
213
220
  ScreenSize::IOS_58_MESSAGES => [
214
221
  [1125, 2436],
@@ -258,7 +265,7 @@ module Deliver
258
265
  # reference: https://help.apple.com/app-store-connect/#/devd274dd925
259
266
  def self.devices
260
267
  # This list does not include iPad Pro 12.9-inch (3rd generation)
261
- # because it has same resoluation as IOS_IPAD_PRO and will clobber
268
+ # because it has same resolution as IOS_IPAD_PRO and will clobber
262
269
  return {
263
270
  ScreenSize::IOS_67 => [
264
271
  [1290, 2796],
@@ -271,8 +278,8 @@ module Deliver
271
278
  [2778, 1284]
272
279
  ],
273
280
  ScreenSize::IOS_61 => [
274
- [828, 1792],
275
- [1792, 828]
281
+ [1179, 2556],
282
+ [2556, 1179]
276
283
  ],
277
284
  ScreenSize::IOS_58 => [
278
285
  [1125, 2436],
@@ -337,6 +344,9 @@ module Deliver
337
344
  ScreenSize::IOS_APPLE_WATCH_SERIES7 => [
338
345
  [396, 484]
339
346
  ],
347
+ ScreenSize::IOS_APPLE_WATCH_ULTRA => [
348
+ [410, 502]
349
+ ],
340
350
  ScreenSize::APPLE_TV => [
341
351
  [1920, 1080],
342
352
  [3840, 2160]
@@ -1,5 +1,5 @@
1
1
  module Deliver
2
- # This is a convinient class that enumerates app store connect's screenshots in various degrees.
2
+ # This is a convenient class that enumerates app store connect's screenshots in various degrees.
3
3
  class AppScreenshotIterator
4
4
  NUMBER_OF_THREADS = Helper.test? ? 1 : [ENV.fetch("DELIVER_NUMBER_OF_THREADS", 10).to_i, 10].min
5
5
 
@@ -59,7 +59,7 @@ module Deliver
59
59
  # @yieldparam [optional, Spaceship::ConnectAPI::AppStoreVersionLocalization] localization
60
60
  # @yieldparam [optional, Spaceship::ConnectAPI::AppStoreScreenshotSet] app_screenshot_set
61
61
  # @yieldparam [optional, Deliver::AppScreenshot] screenshot
62
- # @yieldparam [optional, Integer] index a number reperesents which position the screenshot will be
62
+ # @yieldparam [optional, Integer] index a number represents which position the screenshot will be
63
63
  def each_local_screenshot(screenshots_per_language, &block)
64
64
  return enum_for(__method__, screenshots_per_language) unless block_given?
65
65
 
@@ -92,7 +92,7 @@ module Deliver
92
92
  return unless languages
93
93
 
94
94
  # 2020-08-24 - Available locales are not available as an endpoint in App Store Connect
95
- # Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is avilable)
95
+ # Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is available)
96
96
  all_languages = Deliver::Languages::ALL_LANGUAGES
97
97
  diff = languages - all_languages
98
98
 
@@ -1,7 +1,7 @@
1
1
  module Deliver
2
2
  module Languages
3
3
  # 2020-08-24 - Available locales are not available as an endpoint in App Store Connect
4
- # Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is avilable)
4
+ # Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is available)
5
5
  ALL_LANGUAGES = %w[ar-SA ca cs da de-DE el en-AU en-CA en-GB en-US es-ES es-MX fi fr-CA fr-FR he hi hr hu id it ja ko ms nl-NL no pl pt-BR pt-PT ro ru sk sv th tr uk vi zh-Hans zh-Hant]
6
6
  end
7
7
  end
@@ -31,7 +31,7 @@ module Deliver
31
31
 
32
32
  def self.available_languages
33
33
  # 2020-08-24 - Available locales are not available as an endpoint in App Store Connect
34
- # Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is avilable)
34
+ # Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is available)
35
35
  Deliver::Languages::ALL_LANGUAGES
36
36
  end
37
37
 
@@ -40,7 +40,7 @@ module Deliver
40
40
  end
41
41
 
42
42
  # @param path [String] A directory path otherwise this initializer fails
43
- # @param nested [Boolan] Whether given path is nested of another special directory.
43
+ # @param nested [Boolean] Whether given path is nested of another special directory.
44
44
  # This affects `expandable?` to return `false` when this set to `true`.
45
45
  def initialize(path, nested: false)
46
46
  raise(ArgumentError, "Given path must be a directory path - #{path}") unless File.directory?(path)
@@ -186,12 +186,12 @@ module Deliver
186
186
  # release
187
187
  FastlaneCore::ConfigItem.new(key: :automatic_release,
188
188
  env_name: "DELIVER_AUTOMATIC_RELEASE",
189
- description: "Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)",
189
+ description: "Should the app be automatically released once it's approved? (Cannot be used together with `auto_release_date`)",
190
190
  type: Boolean,
191
191
  optional: true),
192
192
  FastlaneCore::ConfigItem.new(key: :auto_release_date,
193
193
  env_name: "DELIVER_AUTO_RELEASE_DATE",
194
- description: "Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)",
194
+ description: "Date in milliseconds for automatically releasing on pending approval (Cannot be used together with `automatic_release`)",
195
195
  type: Integer,
196
196
  optional: true,
197
197
  conflicting_options: [:automatic_release],
@@ -201,7 +201,7 @@ module Deliver
201
201
  verify_block: proc do |value|
202
202
  now_in_ms = Time.now.to_i * 1000
203
203
  if value < now_in_ms
204
- UI.user_error!("'#{value}' needs to be in the future and in milliseonds (current time is '#{now_in_ms}')")
204
+ UI.user_error!("'#{value}' needs to be in the future and in milliseconds (current time is '#{now_in_ms}')")
205
205
  end
206
206
  end),
207
207
  FastlaneCore::ConfigItem.new(key: :phased_release,
@@ -311,7 +311,7 @@ module Deliver
311
311
 
312
312
  # App Metadata
313
313
  FastlaneCore::ConfigItem.new(key: :individual_metadata_items,
314
- env_name: "DELIVER_INDIVUDAL_METADATA_ITEMS",
314
+ env_names: ["DELIVER_INDIVUDAL_METADATA_ITEMS", "DELIVER_INDIVIDUAL_METADATA_ITEMS"], # The version with typo must be deprecated
315
315
  description: "An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow",
316
316
  deprecated: "Removed after the migration to the new App Store Connect API in June 2020",
317
317
  type: Array,
@@ -55,7 +55,7 @@ module Deliver
55
55
  verify_version if options[:app_version].to_s.length > 0 && !options[:skip_app_version_update]
56
56
 
57
57
  # Rejecting before upload meta
58
- # Screenshots can not be update/deleted if in waiting for review
58
+ # Screenshots cannot be updated or deleted if the app is in the "waiting for review" state
59
59
  reject_version_if_possible if options[:reject_if_possible]
60
60
 
61
61
  upload_metadata
@@ -179,7 +179,7 @@ module Deliver
179
179
  package_path: "/tmp",
180
180
  platform: platform
181
181
  )
182
- result = transporter.verify(package_path: package_path)
182
+ result = transporter.verify(package_path: package_path, asset_path: ipa_path, platform: platform)
183
183
  when "osx"
184
184
  package_path = FastlaneCore::PkgUploadPackageBuilder.new.generate(
185
185
  app_id: Deliver.cache[:app].id,
@@ -187,7 +187,7 @@ module Deliver
187
187
  package_path: "/tmp",
188
188
  platform: platform
189
189
  )
190
- result = transporter.verify(package_path: package_path)
190
+ result = transporter.verify(package_path: package_path, asset_path: pkg_path, platform: platform)
191
191
  else
192
192
  UI.user_error!("No suitable file found for verify for platform: #{options[:platform]}")
193
193
  end
@@ -206,7 +206,7 @@ module Deliver
206
206
  pkg_path = options[:pkg]
207
207
 
208
208
  platform = options[:platform]
209
- transporter = transporter_for_selected_team(upload: true)
209
+ transporter = transporter_for_selected_team
210
210
 
211
211
  case platform
212
212
  when "ios", "appletvos"
@@ -231,7 +231,8 @@ module Deliver
231
231
 
232
232
  unless result
233
233
  transporter_errors = transporter.displayable_errors
234
- UI.user_error!("Error uploading ipa file: \n #{transporter_errors}")
234
+ file_type = platform == "osx" ? "pkg" : "ipa"
235
+ UI.user_error!("Error uploading #{file_type} file: \n #{transporter_errors}")
235
236
  end
236
237
  end
237
238
 
@@ -266,7 +267,7 @@ module Deliver
266
267
  # If itc_provider was explicitly specified, use it.
267
268
  # If there are multiple teams, infer the provider from the selected team name.
268
269
  # If there are fewer than two teams, don't infer the provider.
269
- def transporter_for_selected_team(upload: false)
270
+ def transporter_for_selected_team
270
271
  # Use JWT auth
271
272
  api_token = Spaceship::ConnectAPI.token
272
273
  api_key = if options[:api_key].nil? && !api_token.nil?
@@ -281,12 +282,12 @@ module Deliver
281
282
 
282
283
  unless api_token.nil?
283
284
  api_token.refresh! if api_token.expired?
284
- return FastlaneCore::ItunesTransporter.new(nil, nil, false, nil, api_token.text, upload: upload, api_key: api_key)
285
+ return FastlaneCore::ItunesTransporter.new(nil, nil, false, nil, api_token.text, altool_compatible_command: true, api_key: api_key)
285
286
  end
286
287
 
287
288
  tunes_client = Spaceship::ConnectAPI.client.tunes_client
288
289
 
289
- generic_transporter = FastlaneCore::ItunesTransporter.new(options[:username], nil, false, options[:itc_provider], upload: upload, api_key: api_key)
290
+ generic_transporter = FastlaneCore::ItunesTransporter.new(options[:username], nil, false, options[:itc_provider], altool_compatible_command: true, api_key: api_key)
290
291
  return generic_transporter unless options[:itc_provider].nil? && tunes_client.teams.count > 1
291
292
 
292
293
  begin
@@ -294,7 +295,7 @@ module Deliver
294
295
  name = team['name']
295
296
  provider_id = generic_transporter.provider_ids[name]
296
297
  UI.verbose("Inferred provider id #{provider_id} for team #{name}.")
297
- return FastlaneCore::ItunesTransporter.new(options[:username], nil, false, provider_id, upload: upload, api_key: api_key)
298
+ return FastlaneCore::ItunesTransporter.new(options[:username], nil, false, provider_id, altool_compatible_command: true, api_key: api_key)
298
299
  rescue => ex
299
300
  UI.verbose("Couldn't infer a provider short name for team with id #{tunes_client.team_id} automatically: #{ex}. Proceeding without provider short name.")
300
301
  return generic_transporter
@@ -47,6 +47,19 @@ module Deliver
47
47
  end
48
48
 
49
49
  submission.add_app_store_version_to_review_items(app_store_version_id: version.id)
50
+
51
+ 10.times do
52
+ version_with_latest_info = Spaceship::ConnectAPI::AppStoreVersion.get(app_store_version_id: version.id)
53
+
54
+ if version_with_latest_info.app_store_state == Spaceship::ConnectAPI::AppStoreVersion::AppStoreState::READY_FOR_REVIEW
55
+ break
56
+ end
57
+
58
+ UI.message("Waiting for the state of the version to become #{Spaceship::ConnectAPI::AppStoreVersion::AppStoreState::READY_FOR_REVIEW}...")
59
+
60
+ sleep(15)
61
+ end
62
+
50
63
  submission.submit_for_review
51
64
  end
52
65
 
@@ -45,7 +45,7 @@ module Deliver
45
45
 
46
46
  unless FastlaneCore::Feature.enabled?('FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS')
47
47
  UI.user_error!('Please set a value to "FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS" environment variable ' \
48
- 'if you acknowleage the risk and try this out.')
48
+ 'if you acknowledge the risk and try this out.')
49
49
  end
50
50
 
51
51
  UI.important("Will begin uploading snapshots for '#{version.version_string}' on App Store Connect")
@@ -106,7 +106,7 @@ module Deliver
106
106
  local_screenshots = iterator.each_local_screenshot(screenshots.group_by(&:language)).map do |localization, app_screenshot_set, screenshot, index|
107
107
  if index >= 10
108
108
  UI.user_error!("Found #{localization.locale} has more than 10 screenshots for #{app_screenshot_set.screenshot_display_type}. "\
109
- "Make sure containts only necessary screenshots.")
109
+ "Make sure contains only necessary screenshots.")
110
110
  end
111
111
  ScreenshotComparable.create_from_local(screenshot: screenshot, app_screenshot_set: app_screenshot_set)
112
112
  end