fastlane 2.214.0 → 2.215.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +102 -102
  3. data/deliver/lib/deliver/app_screenshot.rb +13 -10
  4. data/deliver/lib/deliver/submit_for_review.rb +13 -0
  5. data/fastlane/lib/fastlane/actions/docs/build_app.md +2 -2
  6. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +8 -8
  7. data/fastlane/lib/fastlane/actions/docs/check_app_store_metadata.md +3 -3
  8. data/fastlane/lib/fastlane/actions/docs/get_push_certificate.md +2 -2
  9. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +1 -1
  10. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +1 -1
  11. data/fastlane/lib/fastlane/actions/download_universal_apk_from_google_play.rb +1 -1
  12. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +4 -0
  13. data/fastlane/lib/fastlane/helper/xcodes_helper.rb +0 -3
  14. data/fastlane/lib/fastlane/new_action.rb +1 -1
  15. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +3 -3
  16. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -2
  17. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
  18. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +1 -1
  19. data/fastlane/lib/fastlane/version.rb +2 -2
  20. data/fastlane/swift/Deliverfile.swift +1 -1
  21. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  22. data/fastlane/swift/Fastlane.swift +22 -2
  23. data/fastlane/swift/Gymfile.swift +1 -1
  24. data/fastlane/swift/GymfileProtocol.swift +1 -1
  25. data/fastlane/swift/Matchfile.swift +1 -1
  26. data/fastlane/swift/MatchfileProtocol.swift +5 -1
  27. data/fastlane/swift/Precheckfile.swift +1 -1
  28. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  29. data/fastlane/swift/Scanfile.swift +1 -1
  30. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  31. data/fastlane/swift/Screengrabfile.swift +1 -1
  32. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  33. data/fastlane/swift/Snapshotfile.swift +1 -1
  34. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  35. data/fastlane/swift/formatting/Brewfile.lock.json +26 -16
  36. data/fastlane_core/lib/fastlane_core/cert_checker.rb +1 -1
  37. data/frameit/lib/frameit/device_types.rb +1 -1
  38. data/match/lib/match/change_password.rb +3 -9
  39. data/match/lib/match/commands_generator.rb +3 -6
  40. data/match/lib/match/encryption.rb +1 -1
  41. data/match/lib/match/importer.rb +3 -31
  42. data/match/lib/match/migrate.rb +6 -2
  43. data/match/lib/match/nuke.rb +3 -25
  44. data/match/lib/match/options.rb +7 -0
  45. data/match/lib/match/runner.rb +5 -32
  46. data/match/lib/match/setup.rb +1 -1
  47. data/match/lib/match/storage/s3_storage.rb +6 -0
  48. data/match/lib/match/storage.rb +56 -5
  49. data/spaceship/lib/spaceship/connect_api/api_client.rb +19 -1
  50. data/spaceship/lib/spaceship/connect_api/models/app.rb +3 -2
  51. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +15 -9
  52. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
  53. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -0
  54. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +3 -1
  55. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +8 -2
  56. data/supply/lib/supply/client.rb +39 -20
  57. data/supply/lib/supply/image_listing.rb +15 -0
  58. data/supply/lib/supply/options.rb +5 -0
  59. data/supply/lib/supply/setup.rb +1 -1
  60. data/supply/lib/supply/uploader.rb +32 -5
  61. data/supply/lib/supply.rb +1 -0
  62. metadata +282 -273
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c90da076e95e7d56aeb37df6dbd0f85ea6163ae1833e0ed048cb8e324c52b695
4
- data.tar.gz: e0e11ef5984ec45bf0a8ac71b6ea2b635f5fe6f4e2f8244b6d701cee32d842c2
3
+ metadata.gz: ca392430fd8ccee923fa73986787d896274816cbdca6e7245346f87c8836bb12
4
+ data.tar.gz: ff6be4a15bc4afba8d97048c2866c1d7ae7b36fdb382420c6ff0ab805a760d98
5
5
  SHA512:
6
- metadata.gz: 673b9f22b71d12323220280d414c45ba8b7c537b2b9c91c38ee9a46f9b7b4f7053c7fe0f9cc6583e4414608f3b755a154211e3b30ee202aeb59b282045ffb924
7
- data.tar.gz: d8644326864b6f6895fd6c55a4ebc503cc2f730eb0dfce45201bab4bb4d8658b655e1746452d549793d47b234d2a8a8f7aad0c8bf246c7f46a8155eb556f5bde
6
+ metadata.gz: b4c419b1a38f052585887569f8f7bf9e59f22cf85146e7df7fd2d57e4d832bb70b091fb5f6391b979a15369559cd6481566e58e9ccaa04d9b9e31b33bc86780d
7
+ data.tar.gz: 4c11e7e47e3831a3b05ef14693fabc1c3df8e62af609d8021479b3044027173e99410aefd81a0752b5d5d6046afb49556e50a7fe77224870e914ce4f6c970d35
data/README.md CHANGED
@@ -35,61 +35,55 @@ 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='jorge-revuelta-h'>
39
- <a href='https://github.com/minuscorp'>
40
- <img src='https://github.com/minuscorp.png' width='140px;'>
38
+ <td id='matthew-ellis'>
39
+ <a href='https://github.com/matthewellis'>
40
+ <img src='https://github.com/matthewellis.png' width='140px;'>
41
41
  </a>
42
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
43
43
  </td>
44
- <td id='danielle-tomlinson'>
45
- <a href='https://github.com/endocrimes'>
46
- <img src='https://github.com/endocrimes.png' width='140px;'>
44
+ <td id='jimmy-dee'>
45
+ <a href='https://github.com/jdee'>
46
+ <img src='https://github.com/jdee.png' width='140px;'>
47
47
  </a>
48
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
48
+ <h4 align='center'>Jimmy Dee</h4>
49
49
  </td>
50
- <td id='jan-piotrowski'>
51
- <a href='https://github.com/janpio'>
52
- <img src='https://github.com/janpio.png' width='140px;'>
50
+ <td id='roger-oba'>
51
+ <a href='https://github.com/rogerluan'>
52
+ <img src='https://github.com/rogerluan.png' width='140px;'>
53
53
  </a>
54
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
54
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
55
55
  </td>
56
- <td id='manish-rathi'>
57
- <a href='https://github.com/crazymanish'>
58
- <img src='https://github.com/crazymanish.png' width='140px;'>
56
+ <td id='fumiya-nakamura'>
57
+ <a href='https://github.com/nafu'>
58
+ <img src='https://github.com/nafu.png' width='140px;'>
59
59
  </a>
60
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
60
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
61
61
  </td>
62
- <td id='helmut-januschka'>
63
- <a href='https://github.com/hjanuschka'>
64
- <img src='https://github.com/hjanuschka.png' width='140px;'>
62
+ <td id='satoshi-namai'>
63
+ <a href='https://github.com/ainame'>
64
+ <img src='https://github.com/ainame.png' width='140px;'>
65
65
  </a>
66
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
66
+ <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
67
67
  </td>
68
68
  </tr>
69
69
  <tr>
70
- <td id='roger-oba'>
71
- <a href='https://github.com/rogerluan'>
72
- <img src='https://github.com/rogerluan.png' width='140px;'>
73
- </a>
74
- <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
75
- </td>
76
- <td id='josh-holtz'>
77
- <a href='https://github.com/joshdholtz'>
78
- <img src='https://github.com/joshdholtz.png' width='140px;'>
70
+ <td id='maksym-grebenets'>
71
+ <a href='https://github.com/mgrebenets'>
72
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
79
73
  </a>
80
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
74
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
81
75
  </td>
82
- <td id='iulian-onofrei'>
83
- <a href='https://github.com/revolter'>
84
- <img src='https://github.com/revolter.png' width='140px;'>
76
+ <td id='daniel-jankowski'>
77
+ <a href='https://github.com/mollyIV'>
78
+ <img src='https://github.com/mollyIV.png' width='140px;'>
85
79
  </a>
86
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
80
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
87
81
  </td>
88
- <td id='felix-krause'>
89
- <a href='https://github.com/KrauseFx'>
90
- <img src='https://github.com/KrauseFx.png' width='140px;'>
82
+ <td id='łukasz-grabowski'>
83
+ <a href='https://github.com/lucgrabowski'>
84
+ <img src='https://github.com/lucgrabowski.png' width='140px;'>
91
85
  </a>
92
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
86
+ <h4 align='center'>Łukasz Grabowski</h4>
93
87
  </td>
94
88
  <td id='jérôme-lacoste'>
95
89
  <a href='https://github.com/lacostej'>
@@ -97,109 +91,115 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
97
91
  </a>
98
92
  <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
99
93
  </td>
94
+ <td id='manish-rathi'>
95
+ <a href='https://github.com/crazymanish'>
96
+ <img src='https://github.com/crazymanish.png' width='140px;'>
97
+ </a>
98
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
99
+ </td>
100
100
  </tr>
101
101
  <tr>
102
- <td id='jimmy-dee'>
103
- <a href='https://github.com/jdee'>
104
- <img src='https://github.com/jdee.png' width='140px;'>
102
+ <td id='stefan-natchev'>
103
+ <a href='https://github.com/snatchev'>
104
+ <img src='https://github.com/snatchev.png' width='140px;'>
105
105
  </a>
106
- <h4 align='center'>Jimmy Dee</h4>
106
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
107
107
  </td>
108
- <td id='joshua-liebowitz'>
109
- <a href='https://github.com/taquitos'>
110
- <img src='https://github.com/taquitos.png' width='140px;'>
108
+ <td id='olivier-halligon'>
109
+ <a href='https://github.com/AliSoftware'>
110
+ <img src='https://github.com/AliSoftware.png' width='140px;'>
111
111
  </a>
112
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
112
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
113
113
  </td>
114
- <td id='max-ott'>
115
- <a href='https://github.com/max-ott'>
116
- <img src='https://github.com/max-ott.png' width='140px;'>
114
+ <td id='danielle-tomlinson'>
115
+ <a href='https://github.com/endocrimes'>
116
+ <img src='https://github.com/endocrimes.png' width='140px;'>
117
117
  </a>
118
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
118
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
119
119
  </td>
120
- <td id='andrew-mcburney'>
121
- <a href='https://github.com/armcburney'>
122
- <img src='https://github.com/armcburney.png' width='140px;'>
120
+ <td id='josh-holtz'>
121
+ <a href='https://github.com/joshdholtz'>
122
+ <img src='https://github.com/joshdholtz.png' width='140px;'>
123
123
  </a>
124
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
124
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
125
125
  </td>
126
- <td id='satoshi-namai'>
127
- <a href='https://github.com/ainame'>
128
- <img src='https://github.com/ainame.png' width='140px;'>
126
+ <td id='aaron-brager'>
127
+ <a href='https://github.com/getaaron'>
128
+ <img src='https://github.com/getaaron.png' width='140px;'>
129
129
  </a>
130
- <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
130
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
131
131
  </td>
132
132
  </tr>
133
133
  <tr>
134
- <td id='maksym-grebenets'>
135
- <a href='https://github.com/mgrebenets'>
136
- <img src='https://github.com/mgrebenets.png' width='140px;'>
134
+ <td id='manu-wallner'>
135
+ <a href='https://github.com/milch'>
136
+ <img src='https://github.com/milch.png' width='140px;'>
137
137
  </a>
138
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
138
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
139
139
  </td>
140
- <td id='aaron-brager'>
141
- <a href='https://github.com/getaaron'>
142
- <img src='https://github.com/getaaron.png' width='140px;'>
140
+ <td id='felix-krause'>
141
+ <a href='https://github.com/KrauseFx'>
142
+ <img src='https://github.com/KrauseFx.png' width='140px;'>
143
143
  </a>
144
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
144
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
145
145
  </td>
146
- <td id='daniel-jankowski'>
147
- <a href='https://github.com/mollyIV'>
148
- <img src='https://github.com/mollyIV.png' width='140px;'>
146
+ <td id='andrew-mcburney'>
147
+ <a href='https://github.com/armcburney'>
148
+ <img src='https://github.com/armcburney.png' width='140px;'>
149
149
  </a>
150
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
150
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
151
151
  </td>
152
- <td id='luka-mirosevic'>
153
- <a href='https://github.com/lmirosevic'>
154
- <img src='https://github.com/lmirosevic.png' width='140px;'>
152
+ <td id='jan-piotrowski'>
153
+ <a href='https://github.com/janpio'>
154
+ <img src='https://github.com/janpio.png' width='140px;'>
155
155
  </a>
156
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
156
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
157
157
  </td>
158
- <td id='fumiya-nakamura'>
159
- <a href='https://github.com/nafu'>
160
- <img src='https://github.com/nafu.png' width='140px;'>
158
+ <td id='iulian-onofrei'>
159
+ <a href='https://github.com/revolter'>
160
+ <img src='https://github.com/revolter.png' width='140px;'>
161
161
  </a>
162
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
162
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
163
163
  </td>
164
164
  </tr>
165
165
  <tr>
166
- <td id='kohki-miki'>
167
- <a href='https://github.com/giginet'>
168
- <img src='https://github.com/giginet.png' width='140px;'>
166
+ <td id='helmut-januschka'>
167
+ <a href='https://github.com/hjanuschka'>
168
+ <img src='https://github.com/hjanuschka.png' width='140px;'>
169
169
  </a>
170
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
170
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
171
171
  </td>
172
- <td id='stefan-natchev'>
173
- <a href='https://github.com/snatchev'>
174
- <img src='https://github.com/snatchev.png' width='140px;'>
172
+ <td id='joshua-liebowitz'>
173
+ <a href='https://github.com/taquitos'>
174
+ <img src='https://github.com/taquitos.png' width='140px;'>
175
175
  </a>
176
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
177
177
  </td>
178
- <td id='matthew-ellis'>
179
- <a href='https://github.com/matthewellis'>
180
- <img src='https://github.com/matthewellis.png' width='140px;'>
178
+ <td id='kohki-miki'>
179
+ <a href='https://github.com/giginet'>
180
+ <img src='https://github.com/giginet.png' width='140px;'>
181
181
  </a>
182
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
182
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
183
183
  </td>
184
- <td id='manu-wallner'>
185
- <a href='https://github.com/milch'>
186
- <img src='https://github.com/milch.png' width='140px;'>
184
+ <td id='jorge-revuelta-h'>
185
+ <a href='https://github.com/minuscorp'>
186
+ <img src='https://github.com/minuscorp.png' width='140px;'>
187
187
  </a>
188
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
188
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
189
189
  </td>
190
- <td id='olivier-halligon'>
191
- <a href='https://github.com/AliSoftware'>
192
- <img src='https://github.com/AliSoftware.png' width='140px;'>
190
+ <td id='max-ott'>
191
+ <a href='https://github.com/max-ott'>
192
+ <img src='https://github.com/max-ott.png' width='140px;'>
193
193
  </a>
194
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
194
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
195
195
  </td>
196
196
  </tr>
197
197
  <tr>
198
- <td id='łukasz-grabowski'>
199
- <a href='https://github.com/lucgrabowski'>
200
- <img src='https://github.com/lucgrabowski.png' width='140px;'>
198
+ <td id='luka-mirosevic'>
199
+ <a href='https://github.com/lmirosevic'>
200
+ <img src='https://github.com/lmirosevic.png' width='140px;'>
201
201
  </a>
202
- <h4 align='center'>Łukasz Grabowski</h4>
202
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</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"
@@ -104,6 +104,7 @@ module Deliver
104
104
  ScreenSize::IOS_47 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_47, # also 7 & 8
105
105
  ScreenSize::IOS_55 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_55, # also 7 Plus & 8 Plus
106
106
  ScreenSize::IOS_58 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_58,
107
+ ScreenSize::IOS_61 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_61,
107
108
  ScreenSize::IOS_65 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_65,
108
109
  ScreenSize::IOS_67 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_67,
109
110
  ScreenSize::IOS_IPAD => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPAD_97,
@@ -115,6 +116,7 @@ module Deliver
115
116
  ScreenSize::IOS_47_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_47, # also 7 & 8
116
117
  ScreenSize::IOS_55_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_55, # also 7 Plus & 8 Plus
117
118
  ScreenSize::IOS_58_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_58,
119
+ ScreenSize::IOS_61_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_61,
118
120
  ScreenSize::IOS_65_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_65,
119
121
  ScreenSize::IOS_67_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_67,
120
122
  ScreenSize::IOS_IPAD_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPAD_97,
@@ -139,7 +141,7 @@ module Deliver
139
141
  ScreenSize::IOS_47 => "iPhone 6", # also 7 & 8
140
142
  ScreenSize::IOS_55 => "iPhone 6 Plus", # also 7 Plus & 8 Plus
141
143
  ScreenSize::IOS_58 => "iPhone XS",
142
- ScreenSize::IOS_61 => "iPhone XR",
144
+ ScreenSize::IOS_61 => "iPhone 14 Pro",
143
145
  ScreenSize::IOS_65 => "iPhone XS Max",
144
146
  ScreenSize::IOS_67 => "iPhone 14 Pro Max",
145
147
  ScreenSize::IOS_IPAD => "iPad",
@@ -151,7 +153,7 @@ module Deliver
151
153
  ScreenSize::IOS_47_MESSAGES => "iPhone 6 (iMessage)", # also 7 & 8
152
154
  ScreenSize::IOS_55_MESSAGES => "iPhone 6 Plus (iMessage)", # also 7 Plus & 8 Plus
153
155
  ScreenSize::IOS_58_MESSAGES => "iPhone XS (iMessage)",
154
- ScreenSize::IOS_61_MESSAGES => "iPhone XR (iMessage)",
156
+ ScreenSize::IOS_61_MESSAGES => "iPhone 14 Pro (iMessage)",
155
157
  ScreenSize::IOS_65_MESSAGES => "iPhone XS Max (iMessage)",
156
158
  ScreenSize::IOS_67_MESSAGES => "iPhone 14 Pro Max (iMessage)",
157
159
  ScreenSize::IOS_IPAD_MESSAGES => "iPad (iMessage)",
@@ -182,6 +184,7 @@ module Deliver
182
184
  ScreenSize::IOS_47_MESSAGES,
183
185
  ScreenSize::IOS_55_MESSAGES,
184
186
  ScreenSize::IOS_58_MESSAGES,
187
+ ScreenSize::IOS_61_MESSAGES,
185
188
  ScreenSize::IOS_65_MESSAGES,
186
189
  ScreenSize::IOS_67_MESSAGES,
187
190
  ScreenSize::IOS_IPAD_MESSAGES,
@@ -207,8 +210,8 @@ module Deliver
207
210
  [2778, 1284]
208
211
  ],
209
212
  ScreenSize::IOS_61_MESSAGES => [
210
- [828, 1792],
211
- [1792, 828]
213
+ [1179, 2556],
214
+ [2556, 1179]
212
215
  ],
213
216
  ScreenSize::IOS_58_MESSAGES => [
214
217
  [1125, 2436],
@@ -271,8 +274,8 @@ module Deliver
271
274
  [2778, 1284]
272
275
  ],
273
276
  ScreenSize::IOS_61 => [
274
- [828, 1792],
275
- [1792, 828]
277
+ [1179, 2556],
278
+ [2556, 1179]
276
279
  ],
277
280
  ScreenSize::IOS_58 => [
278
281
  [1125, 2436],
@@ -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
 
@@ -42,8 +42,8 @@ fastlane gym
42
42
 
43
43
  _gym_ uses the latest APIs to build and sign your application which results in much faster build times.
44
44
 
45
- | | Gym Features |
46
- |----------|----------------|
45
+ | | _gym_ Features |
46
+ |----------|------------------|
47
47
  🚀 | _gym_ builds 30% faster than other build tools like [shenzhen](https://github.com/nomad/shenzhen)
48
48
  🏁 | Beautiful inline build output
49
49
  📖 | Helps you resolve common build errors like code signing issues
@@ -32,7 +32,7 @@ androidTestImplementation 'tools.fastlane:screengrab:x.x.x'
32
32
 
33
33
  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)
34
34
 
35
- 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
+ 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.
36
36
 
37
37
  ##### Configuring your Manifest Permissions
38
38
 
@@ -63,21 +63,21 @@ Ensure that the following permissions exist in your **src/debug/AndroidManifest.
63
63
  1. Add `LocaleTestRule` to your tests class to handle automatic switching of locales.
64
64
 
65
65
  If you're using Java use:
66
-
66
+
67
67
  ```java
68
68
  @ClassRule
69
69
  public static final LocaleTestRule localeTestRule = new LocaleTestRule();
70
70
  ```
71
-
71
+
72
72
  If you're using Kotlin use:
73
-
73
+
74
74
  ```kotlin
75
75
  @Rule @JvmField
76
76
  val localeTestRule = LocaleTestRule()
77
77
  ```
78
-
78
+
79
79
  The `@JvmField` annotation is important. It won't work like this:
80
-
80
+
81
81
  ```kotlin
82
82
  companion object {
83
83
  @get:ClassRule
@@ -87,7 +87,7 @@ Ensure that the following permissions exist in your **src/debug/AndroidManifest.
87
87
 
88
88
  2. To capture screenshots, add the following to your tests `Screengrab.screenshot("name_of_screenshot_here");` on the appropriate screens
89
89
 
90
- # Generating Screenshots with Screengrab
90
+ # Generating Screenshots with _screengrab_
91
91
  - Then, before running `fastlane screengrab` you'll need a debug and test apk
92
92
  - You can create your APKs manually with `./gradlew assembleDebug assembleAndroidTest`
93
93
  - You can also create a lane and use `build_android_app`:
@@ -228,7 +228,7 @@ When using JUnit 3 you'll need to add a bit more code:
228
228
 
229
229
  ## Clean Status Bar
230
230
 
231
- Screengrab can clean your status bar to make your screenshots even more beautiful.
231
+ _screengrab_ can clean your status bar to make your screenshots even more beautiful.
232
232
  It is simply a wrapper that allows configuring SystemUI DemoMode in your code.
233
233
  Note: the clean status bar feature is only supported on devices with *API level >= 23*.
234
234
 
@@ -2,7 +2,7 @@
2
2
  <img src="/img/actions/precheck.png" width="250">
3
3
  </p>
4
4
 
5
- Precheck
5
+ _precheck_
6
6
  ============
7
7
 
8
8
  ###### Check your app using a community driven set of App Store review rules to avoid being rejected
@@ -23,8 +23,8 @@ Apple rejects builds for many avoidable metadata issues like including swear wor
23
23
  # Features
24
24
 
25
25
 
26
- | | precheck Features |
27
- |----------|-----------------|
26
+ | | _precheck_ Features |
27
+ |----------|-----------------------|
28
28
  🐛 |  product bug mentions
29
29
  🙅 | Swear word checker
30
30
  🤖 | Mentioning other platforms
@@ -48,7 +48,7 @@ This does the following:
48
48
  - Downloads the certificate
49
49
  - Generates a new ```.pem``` file in the current working directory, which you can upload to your server
50
50
 
51
- Note that _pem_ will never revoke your existing certificates. _pem_ can't download any of your existing push certificates, as the private key is only available on the machine it was created on.
51
+ Note that _pem_ will never revoke your existing certificates. _pem_ can't download any of your existing push certificates, as the private key is only available on the machine it was created on.
52
52
 
53
53
  If you already have a push certificate enabled, which is active for at least 30 more days, _pem_ will not create a new certificate. If you still want to create one, use the `force`:
54
54
 
@@ -111,7 +111,7 @@ If you need the `p12` in your keychain, perhaps to test push with an app like [K
111
111
  Enter Import Password:
112
112
  <hit enter: the p12 has no password>
113
113
  MAC verified OK
114
- Enter PEM pass phrase:
114
+ Enter your pem passphrase:
115
115
  <enter a temporary password to encrypt the pem file>
116
116
 
117
117
  % openssl pkcs12 -export -in my.pem -out my-with-passphrase.p12
@@ -408,7 +408,7 @@ fastlane match adhoc --force_for_new_devices
408
408
 
409
409
  ##### Templates (aka: custom entitlements)
410
410
 
411
- Match can generate profiles that contain custom entitlements by passing in the entitlement's name with the `template_name` parameter.
411
+ _match_ can generate profiles that contain custom entitlements by passing in the entitlement's name with the `template_name` parameter.
412
412
 
413
413
  ```
414
414
  match(type: "development",
@@ -4,7 +4,7 @@
4
4
 
5
5
  ###### The best way to manage your TestFlight testers and builds from your terminal
6
6
 
7
- Pilot makes it easier to manage your app on Apple’s TestFlight. You can:
7
+ _pilot_ makes it easier to manage your app on Apple’s TestFlight. You can:
8
8
 
9
9
  - Upload & distribute builds
10
10
  - Add & remove testers
@@ -56,7 +56,7 @@ module Fastlane
56
56
  <<~DETAILS
57
57
  Download the universal APK of a given version code from the Google Play Console.
58
58
 
59
- This uses fastlane `Supply` (and the `AndroidPublisher` Google API) to download the Universal APK
59
+ This uses _fastlane_ `supply` (and the `AndroidPublisher` Google API) to download the Universal APK
60
60
  generated by Google after you uploaded an `.aab` bundle to the Play Console.
61
61
 
62
62
  See https://developers.google.com/android-publisher/api-ref/rest/v3/generatedapks/list
@@ -119,6 +119,10 @@ module Fastlane
119
119
  def self.is_supported?(platform)
120
120
  [:ios, :mac].include?(platform)
121
121
  end
122
+
123
+ def self.deprecated_notes
124
+ "The xcode-install gem, which this action depends on, has been sunset. Please migrate to [xcodes](https://docs.fastlane.tools/actions/xcodes). You can find a migration guide here: [xcpretty/xcode-install/MIGRATION.md](https://github.com/xcpretty/xcode-install/blob/master/MIGRATION.md)"
125
+ end
122
126
  end
123
127
  end
124
128
  end
@@ -18,9 +18,6 @@ module Fastlane
18
18
  module Verify
19
19
  def self.requirement(req)
20
20
  UI.user_error!("Version must be specified") if req.nil? || req.to_s.strip.size == 0
21
- Gem::Requirement.new(req.to_s)
22
- rescue Gem::Requirement::BadRequirementError
23
- UI.user_error!("The requirement '#{req}' is not a valid RubyGems style requirement")
24
21
  end
25
22
  end
26
23
  end
@@ -7,7 +7,7 @@ module Fastlane
7
7
  end
8
8
 
9
9
  def self.fetch_name
10
- puts("Must be lower case, and use a '_' between words. Do not use '.'".green)
10
+ puts("Must be lowercase, and use a '_' between words. Do not use '.'".green)
11
11
  puts("examples: 'testflight', 'upload_to_s3'".green)
12
12
  name = UI.input("Name of your action: ")
13
13
  until name_valid?(name)
@@ -45,7 +45,7 @@ module Fastlane
45
45
  @ui.message("\nThe gem name '#{gem_name}' is already taken on RubyGems, please choose a different plugin name.")
46
46
  else
47
47
  # That's a naming error
48
- @ui.message("\nPlugin names can only contain lower case letters, numbers, and underscores")
48
+ @ui.message("\nPlugin names can only contain lowercase letters, numbers, and underscores")
49
49
  @ui.message("and should not contain 'fastlane' or 'plugin'.")
50
50
  end
51
51
  end
@@ -54,7 +54,7 @@ module Fastlane
54
54
  end
55
55
 
56
56
  def plugin_name_valid?(name)
57
- # Only lower case letters, numbers and underscores allowed
57
+ # Only lowercase letters, numbers and underscores allowed
58
58
  /^[a-z0-9_]+$/ =~ name &&
59
59
  # Does not contain the words 'fastlane' or 'plugin' since those will become
60
60
  # part of the gem name
@@ -79,7 +79,7 @@ module Fastlane
79
79
  name = name.to_s.downcase
80
80
  fixes = {
81
81
  /[\- ]/ => '_', # dashes and spaces become underscores
82
- /[^a-z0-9_]/ => '', # anything other than lower case letters, numbers and underscores is removed
82
+ /[^a-z0-9_]/ => '', # anything other than lowercase letters, numbers and underscores is removed
83
83
  /fastlane[_]?/ => '', # 'fastlane' or 'fastlane_' is removed
84
84
  /plugin[_]?/ => '' # 'plugin' or 'plugin_' is removed
85
85
  }
@@ -13,9 +13,8 @@ Gem::Specification.new do |spec|
13
13
  spec.license = "MIT"
14
14
 
15
15
  spec.files = Dir["lib/**/*"] + %w(README.md LICENSE)
16
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
16
  spec.require_paths = ['lib']
18
-
17
+ spec.metadata['rubygems_mfa_required'] = 'true'
19
18
  spec.required_ruby_version = '>= 2.6'
20
19
 
21
20
  # Don't add a dependency to fastlane or fastlane_re
@@ -124,6 +124,8 @@ Style/GuardClause:
124
124
  Enabled: false
125
125
  Style/StringLiterals:
126
126
  Enabled: false
127
+ Style/QuotedSymbols:
128
+ Enabled: false
127
129
  Style/ConditionalAssignment:
128
130
  Enabled: false
129
131
  Style/RedundantSelf:
@@ -164,7 +166,7 @@ Style/CollectionMethods:
164
166
  Enabled: false
165
167
  Style/MethodCallWithArgsParentheses:
166
168
  Enabled: true
167
- IgnoredMethods:
169
+ AllowedMethods:
168
170
  - require
169
171
  - require_relative
170
172
  - fastlane_require
@@ -186,3 +188,5 @@ Style/MethodCallWithArgsParentheses:
186
188
  - context
187
189
  - before
188
190
  - after
191
+ Gemspec/DevelopmentDependencies:
192
+ Enabled: false