fastlane 2.150.0 → 2.151.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +74 -74
- data/{fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp → deliver/lib/deliver/.commands_generator.rb.swp} +0 -0
- data/deliver/lib/deliver/.download_screenshots.rb.swp +0 -0
- data/deliver/lib/deliver/.submit_for_review.rb.swp +0 -0
- data/deliver/lib/deliver/app_screenshot.rb +4 -4
- data/deliver/lib/deliver/options.rb +7 -1
- data/deliver/lib/deliver/runner.rb +7 -3
- data/deliver/lib/deliver/submit_for_review.rb +7 -7
- data/deliver/lib/deliver/upload_metadata.rb +8 -8
- data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +3 -0
- data/fastlane/lib/fastlane/actions/notarize.rb +13 -3
- data/fastlane/lib/fastlane/actions/pod_push.rb +10 -1
- data/fastlane/lib/fastlane/actions/resign.rb +1 -1
- data/fastlane/lib/fastlane/actions/setup_ci.rb +5 -0
- data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
- data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
- data/fastlane/lib/fastlane/actions/slather.rb +7 -0
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +10 -2
- data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
- data/fastlane/lib/fastlane/helper/s3_client_helper.rb +28 -11
- data/fastlane/lib/fastlane/server/socket_server.rb +7 -1
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Actions.swift +1 -1
- data/fastlane/swift/ArgumentProcessor.swift +24 -24
- data/fastlane/swift/ControlCommand.swift +3 -3
- data/fastlane/swift/Deliverfile.swift +4 -8
- data/fastlane/swift/DeliverfileProtocol.swift +181 -182
- data/fastlane/swift/Fastlane.swift +2819 -2805
- data/fastlane/swift/Gymfile.swift +4 -8
- data/fastlane/swift/GymfileProtocol.swift +133 -134
- data/fastlane/swift/LaneFileProtocol.swift +17 -17
- data/fastlane/swift/Matchfile.swift +4 -8
- data/fastlane/swift/MatchfileProtocol.swift +115 -112
- data/fastlane/swift/Plugins.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +4 -8
- data/fastlane/swift/PrecheckfileProtocol.swift +22 -23
- data/fastlane/swift/RubyCommand.swift +34 -37
- data/fastlane/swift/RubyCommandable.swift +3 -1
- data/fastlane/swift/Runner.swift +76 -69
- data/fastlane/swift/Scanfile.swift +4 -8
- data/fastlane/swift/ScanfileProtocol.swift +190 -191
- data/fastlane/swift/Screengrabfile.swift +4 -8
- data/fastlane/swift/ScreengrabfileProtocol.swift +67 -68
- data/fastlane/swift/Snapshotfile.swift +4 -8
- data/fastlane/swift/SnapshotfileProtocol.swift +127 -128
- data/fastlane/swift/SocketClient.swift +84 -90
- data/fastlane/swift/SocketResponse.swift +14 -14
- data/fastlane/swift/formatting/Brewfile +1 -0
- data/fastlane/swift/formatting/Brewfile.lock.json +39 -0
- data/fastlane/swift/formatting/Rakefile +18 -0
- data/fastlane/swift/main.swift +5 -6
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +15 -7
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +1 -1
- data/{fastlane/lib/fastlane/actions/.hockey.rb.swp → frameit/lib/frameit/.editor.rb.swp} +0 -0
- data/match/lib/assets/READMETemplate.md +5 -2
- data/match/lib/match/options.rb +4 -0
- data/match/lib/match/runner.rb +1 -0
- data/match/lib/match/storage/git_storage.rb +1 -1
- data/match/lib/match/storage/s3_storage.rb +25 -7
- data/sigh/lib/assets/resign.sh +18 -0
- data/spaceship/lib/spaceship/{connect_api/.DS_Store → .DS_Store} +0 -0
- data/spaceship/lib/spaceship/client.rb +1 -2
- data/spaceship/lib/spaceship/connect_api.rb +2 -1
- data/spaceship/lib/spaceship/connect_api/client.rb +0 -1
- data/spaceship/lib/spaceship/connect_api/file_uploader.rb +0 -1
- data/spaceship/lib/spaceship/connect_api/models/app.rb +3 -3
- data/spaceship/lib/spaceship/connect_api/models/app_info.rb +26 -2
- data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +3 -2
- data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +31 -2
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +24 -2
- data/spaceship/lib/spaceship/connect_api/models/{app_review_attachment.rb → app_store_review_attachment.rb} +6 -6
- data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +2 -2
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/certificate.rb +11 -1
- data/spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb +64 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +54 -9
- metadata +43 -49
- data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/pilot/lib/pilot/.manager.rb.swp +0 -0
- data/spaceship/lib/spaceship/babosa_fix.rb +0 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cfd7d1c9336c8f8ff4c81ee00f9f8664e166992e3f9fe2ce4a2d6276e4b8ec0e
|
4
|
+
data.tar.gz: b7fcb6b10914a8ed1b17ade412da79a449621070b0766d7cad125fd7febdf658
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69257559599f748e013b9e1d442f5e1d40cfca677ccb78506e2e0d50ddd15698830c2a81f736ff1f42e848cb19691fcae0ea5ea2c1822abbee30b0c77bbf4a2c
|
7
|
+
data.tar.gz: 1493a4e6f35225da586412e51f13b3ea5c426c6c0832cd3c90a92ed3a82fbc9a7632ad2f3b129805679c02e5f191c2079caf7d844a76e36fe51775c0384f62f9
|
data/README.md
CHANGED
@@ -34,11 +34,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
34
34
|
<!-- This table is regenerated and resorted on each release -->
|
35
35
|
<table id='team'>
|
36
36
|
<tr>
|
37
|
-
<td id='
|
38
|
-
<a href='https://github.com/
|
39
|
-
<img src='https://github.com/
|
37
|
+
<td id='manu-wallner'>
|
38
|
+
<a href='https://github.com/milch'>
|
39
|
+
<img src='https://github.com/milch.png?size=140'>
|
40
40
|
</a>
|
41
|
-
<h4 align='center'><a href='https://twitter.com/
|
41
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
42
|
+
</td>
|
43
|
+
<td id='stefan-natchev'>
|
44
|
+
<a href='https://github.com/snatchev'>
|
45
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
46
|
+
</a>
|
47
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
42
48
|
</td>
|
43
49
|
<td id='matthew-ellis'>
|
44
50
|
<a href='https://github.com/matthewellis'>
|
@@ -46,11 +52,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
46
52
|
</a>
|
47
53
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
48
54
|
</td>
|
49
|
-
<td id='
|
50
|
-
<a href='https://github.com/
|
51
|
-
<img src='https://github.com/
|
55
|
+
<td id='maksym-grebenets'>
|
56
|
+
<a href='https://github.com/mgrebenets'>
|
57
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
52
58
|
</a>
|
53
|
-
<h4 align='center'><a href='https://twitter.com/
|
59
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
54
60
|
</td>
|
55
61
|
<td id='josh-holtz'>
|
56
62
|
<a href='https://github.com/joshdholtz'>
|
@@ -58,31 +64,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
58
64
|
</a>
|
59
65
|
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
60
66
|
</td>
|
61
|
-
<td id='max-ott'>
|
62
|
-
<a href='https://github.com/max-ott'>
|
63
|
-
<img src='https://github.com/max-ott.png?size=140'>
|
64
|
-
</a>
|
65
|
-
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
66
|
-
</td>
|
67
67
|
</tr>
|
68
68
|
<tr>
|
69
|
+
<td id='jimmy-dee'>
|
70
|
+
<a href='https://github.com/jdee'>
|
71
|
+
<img src='https://github.com/jdee.png?size=140'>
|
72
|
+
</a>
|
73
|
+
<h4 align='center'>Jimmy Dee</h4>
|
74
|
+
</td>
|
75
|
+
<td id='andrew-mcburney'>
|
76
|
+
<a href='https://github.com/armcburney'>
|
77
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
78
|
+
</a>
|
79
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
80
|
+
</td>
|
81
|
+
<td id='olivier-halligon'>
|
82
|
+
<a href='https://github.com/AliSoftware'>
|
83
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
84
|
+
</a>
|
85
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
86
|
+
</td>
|
69
87
|
<td id='luka-mirosevic'>
|
70
88
|
<a href='https://github.com/lmirosevic'>
|
71
89
|
<img src='https://github.com/lmirosevic.png?size=140'>
|
72
90
|
</a>
|
73
91
|
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
74
92
|
</td>
|
93
|
+
<td id='jan-piotrowski'>
|
94
|
+
<a href='https://github.com/janpio'>
|
95
|
+
<img src='https://github.com/janpio.png?size=140'>
|
96
|
+
</a>
|
97
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
98
|
+
</td>
|
99
|
+
</tr>
|
100
|
+
<tr>
|
75
101
|
<td id='iulian-onofrei'>
|
76
102
|
<a href='https://github.com/revolter'>
|
77
103
|
<img src='https://github.com/revolter.png?size=140'>
|
78
104
|
</a>
|
79
105
|
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
80
106
|
</td>
|
81
|
-
<td id='
|
82
|
-
<a href='https://github.com/
|
83
|
-
<img src='https://github.com/
|
107
|
+
<td id='max-ott'>
|
108
|
+
<a href='https://github.com/max-ott'>
|
109
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
84
110
|
</a>
|
85
|
-
<h4 align='center'>
|
111
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
112
|
+
</td>
|
113
|
+
<td id='kohki-miki'>
|
114
|
+
<a href='https://github.com/giginet'>
|
115
|
+
<img src='https://github.com/giginet.png?size=140'>
|
116
|
+
</a>
|
117
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
86
118
|
</td>
|
87
119
|
<td id='jérôme-lacoste'>
|
88
120
|
<a href='https://github.com/lacostej'>
|
@@ -90,63 +122,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
90
122
|
</a>
|
91
123
|
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
92
124
|
</td>
|
93
|
-
<td id='
|
94
|
-
<a href='https://github.com/
|
95
|
-
<img src='https://github.com/
|
125
|
+
<td id='joshua-liebowitz'>
|
126
|
+
<a href='https://github.com/taquitos'>
|
127
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
96
128
|
</a>
|
97
|
-
<h4 align='center'><a href='https://twitter.com/
|
129
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
98
130
|
</td>
|
99
131
|
</tr>
|
100
132
|
<tr>
|
101
|
-
<td id='felix-krause'>
|
102
|
-
<a href='https://github.com/KrauseFx'>
|
103
|
-
<img src='https://github.com/KrauseFx.png?size=140'>
|
104
|
-
</a>
|
105
|
-
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
106
|
-
</td>
|
107
|
-
<td id='jan-piotrowski'>
|
108
|
-
<a href='https://github.com/janpio'>
|
109
|
-
<img src='https://github.com/janpio.png?size=140'>
|
110
|
-
</a>
|
111
|
-
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
112
|
-
</td>
|
113
|
-
<td id='stefan-natchev'>
|
114
|
-
<a href='https://github.com/snatchev'>
|
115
|
-
<img src='https://github.com/snatchev.png?size=140'>
|
116
|
-
</a>
|
117
|
-
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
118
|
-
</td>
|
119
|
-
<td id='olivier-halligon'>
|
120
|
-
<a href='https://github.com/AliSoftware'>
|
121
|
-
<img src='https://github.com/AliSoftware.png?size=140'>
|
122
|
-
</a>
|
123
|
-
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
124
|
-
</td>
|
125
133
|
<td id='danielle-tomlinson'>
|
126
134
|
<a href='https://github.com/endocrimes'>
|
127
135
|
<img src='https://github.com/endocrimes.png?size=140'>
|
128
136
|
</a>
|
129
137
|
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
130
138
|
</td>
|
131
|
-
|
132
|
-
<
|
133
|
-
<
|
134
|
-
<a href='https://github.com/getaaron'>
|
135
|
-
<img src='https://github.com/getaaron.png?size=140'>
|
139
|
+
<td id='helmut-januschka'>
|
140
|
+
<a href='https://github.com/hjanuschka'>
|
141
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
136
142
|
</a>
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
143
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
138
144
|
</td>
|
139
|
-
<td id='
|
140
|
-
<a href='https://github.com/
|
141
|
-
<img src='https://github.com/
|
145
|
+
<td id='daniel-jankowski'>
|
146
|
+
<a href='https://github.com/mollyIV'>
|
147
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
142
148
|
</a>
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
149
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
144
150
|
</td>
|
145
|
-
<td id='
|
146
|
-
<a href='https://github.com/
|
147
|
-
<img src='https://github.com/
|
151
|
+
<td id='felix-krause'>
|
152
|
+
<a href='https://github.com/KrauseFx'>
|
153
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
148
154
|
</a>
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
155
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
150
156
|
</td>
|
151
157
|
<td id='fumiya-nakamura'>
|
152
158
|
<a href='https://github.com/nafu'>
|
@@ -154,25 +160,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
154
160
|
</a>
|
155
161
|
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
156
162
|
</td>
|
157
|
-
<td id='andrew-mcburney'>
|
158
|
-
<a href='https://github.com/armcburney'>
|
159
|
-
<img src='https://github.com/armcburney.png?size=140'>
|
160
|
-
</a>
|
161
|
-
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
162
|
-
</td>
|
163
163
|
</tr>
|
164
164
|
<tr>
|
165
|
-
<td id='
|
166
|
-
<a href='https://github.com/
|
167
|
-
<img src='https://github.com/
|
165
|
+
<td id='aaron-brager'>
|
166
|
+
<a href='https://github.com/getaaron'>
|
167
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
168
168
|
</a>
|
169
|
-
<h4 align='center'><a href='https://twitter.com/
|
169
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
170
170
|
</td>
|
171
|
-
<td id='
|
172
|
-
<a href='https://github.com/
|
173
|
-
<img src='https://github.com/
|
171
|
+
<td id='jorge-revuelta-h'>
|
172
|
+
<a href='https://github.com/minuscorp'>
|
173
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
174
174
|
</a>
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
175
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
176
176
|
</td>
|
177
177
|
</table>
|
178
178
|
|
Binary file
|
Binary file
|
Binary file
|
@@ -51,9 +51,9 @@ module Deliver
|
|
51
51
|
# iPad iMessage
|
52
52
|
IOS_IPAD_MESSAGES = "iOS-iPad-messages"
|
53
53
|
# iPad 10.5 iMessage
|
54
|
-
IOS_IPAD_10_5_MESSAGES = "iOS-10.5-messages"
|
54
|
+
IOS_IPAD_10_5_MESSAGES = "iOS-iPad-10.5-messages"
|
55
55
|
# iPad 11 iMessage
|
56
|
-
IOS_IPAD_11_MESSAGES = "iOS-11-messages"
|
56
|
+
IOS_IPAD_11_MESSAGES = "iOS-iPad-11-messages"
|
57
57
|
# iPad Pro iMessage
|
58
58
|
IOS_IPAD_PRO_MESSAGES = "iOS-iPad-Pro-messages"
|
59
59
|
# iPad Pro (12.9-inch) (3rd generation) iMessage
|
@@ -113,8 +113,8 @@ module Deliver
|
|
113
113
|
ScreenSize::IOS_58_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_58,
|
114
114
|
ScreenSize::IOS_65_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_65,
|
115
115
|
ScreenSize::IOS_IPAD_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPAD_97,
|
116
|
-
ScreenSize::IOS_IPAD_PRO_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::
|
117
|
-
ScreenSize::IOS_IPAD_PRO_12_9_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::
|
116
|
+
ScreenSize::IOS_IPAD_PRO_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPAD_PRO_129,
|
117
|
+
ScreenSize::IOS_IPAD_PRO_12_9_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPAD_PRO_3GEN_129,
|
118
118
|
ScreenSize::IOS_IPAD_10_5_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPAD_105,
|
119
119
|
ScreenSize::IOS_IPAD_11_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPAD_PRO_3GEN_11,
|
120
120
|
ScreenSize::MAC => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_DESKTOP,
|
@@ -165,11 +165,17 @@ module Deliver
|
|
165
165
|
FastlaneCore::ConfigItem.new(key: :auto_release_date,
|
166
166
|
env_name: "DELIVER_AUTO_RELEASE_DATE",
|
167
167
|
description: "Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)",
|
168
|
-
|
168
|
+
type: Integer,
|
169
169
|
optional: true,
|
170
170
|
conflicting_options: [:automatic_release],
|
171
171
|
conflict_block: proc do |value|
|
172
172
|
UI.user_error!("You can't use 'auto_release_date' and '#{value.key}' options together.")
|
173
|
+
end,
|
174
|
+
verify_block: proc do |value|
|
175
|
+
now_in_ms = Time.now.to_i * 1000
|
176
|
+
if value < now_in_ms
|
177
|
+
UI.user_error!("'#{value}' needs to be in the future and in milliseonds (current time is '#{now_in_ms}')")
|
178
|
+
end
|
173
179
|
end),
|
174
180
|
FastlaneCore::ConfigItem.new(key: :phased_release,
|
175
181
|
env_name: "DELIVER_PHASED_RELEASE",
|
@@ -34,6 +34,11 @@ module Deliver
|
|
34
34
|
|
35
35
|
def run
|
36
36
|
verify_version if options[:app_version].to_s.length > 0 && !options[:skip_app_version_update]
|
37
|
+
|
38
|
+
# Rejecting before upload meta
|
39
|
+
# Screenshots can not be update/deleted if in waiting for review
|
40
|
+
reject_version_if_possible if options[:reject_if_possible]
|
41
|
+
|
37
42
|
upload_metadata
|
38
43
|
|
39
44
|
has_binary = (options[:ipa] || options[:pkg])
|
@@ -43,8 +48,6 @@ module Deliver
|
|
43
48
|
|
44
49
|
UI.success("Finished the upload to App Store Connect") unless options[:skip_binary_upload]
|
45
50
|
|
46
|
-
reject_version_if_possible if options[:reject_if_possible]
|
47
|
-
|
48
51
|
precheck_success = precheck_app
|
49
52
|
submit_for_review if options[:submit_for_review] && precheck_success
|
50
53
|
end
|
@@ -163,7 +166,8 @@ module Deliver
|
|
163
166
|
app_id = legacy_app.apple_id
|
164
167
|
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
165
168
|
|
166
|
-
|
169
|
+
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
170
|
+
if app.reject_version_if_possible!(platform: platform)
|
167
171
|
UI.success("Successfully rejected previous version!")
|
168
172
|
end
|
169
173
|
end
|
@@ -134,10 +134,10 @@ module Deliver
|
|
134
134
|
# Create, update, or delete IDFA declaration
|
135
135
|
if uses_idfa == false
|
136
136
|
if idfa_declaration
|
137
|
-
UI.verbose("Deleting IDFA
|
137
|
+
UI.verbose("Deleting IDFA declaration")
|
138
138
|
idfa_declaration.delete!
|
139
139
|
updated_idfa = true
|
140
|
-
UI.verbose("Deleted IDFA
|
140
|
+
UI.verbose("Deleted IDFA declaration")
|
141
141
|
end
|
142
142
|
elsif uses_idfa == true
|
143
143
|
attributes = {
|
@@ -148,19 +148,19 @@ module Deliver
|
|
148
148
|
}
|
149
149
|
|
150
150
|
if idfa_declaration
|
151
|
-
UI.verbose("Updating IDFA
|
151
|
+
UI.verbose("Updating IDFA declaration")
|
152
152
|
idfa_declaration.update(attributes: attributes)
|
153
|
-
UI.verbose("Updated IDFA
|
153
|
+
UI.verbose("Updated IDFA declaration")
|
154
154
|
else
|
155
|
-
UI.verbose("Creating IDFA
|
155
|
+
UI.verbose("Creating IDFA declaration")
|
156
156
|
version.create_idfa_declaration(attributes: attributes)
|
157
|
-
UI.verbose("Created IDFA
|
157
|
+
UI.verbose("Created IDFA declaration")
|
158
158
|
end
|
159
159
|
|
160
160
|
updated_idfa = true
|
161
161
|
end
|
162
162
|
|
163
|
-
UI.success("Successfully updated IDFA
|
163
|
+
UI.success("Successfully updated IDFA declarations on App Store Connect") if updated_idfa
|
164
164
|
end
|
165
165
|
|
166
166
|
def update_submission_information(options, app)
|
@@ -330,7 +330,7 @@ module Deliver
|
|
330
330
|
seconds_in_hour = 60 * 60
|
331
331
|
time_in_s_to_hour = (time_in_s / seconds_in_hour).to_i * seconds_in_hour
|
332
332
|
|
333
|
-
return Time.at(time_in_s_to_hour).strftime("%Y-%m-%dT%H:%M:%S%:z")
|
333
|
+
return Time.at(time_in_s_to_hour).utc.strftime("%Y-%m-%dT%H:%M:%S%:z")
|
334
334
|
end
|
335
335
|
|
336
336
|
# If the user is using the 'default' language, then assign values where they are needed
|
@@ -563,19 +563,19 @@ module Deliver
|
|
563
563
|
|
564
564
|
def set_review_attachment_file(version, options)
|
565
565
|
app_store_review_detail = version.fetch_app_store_review_detail
|
566
|
-
|
566
|
+
app_store_review_attachments = app_store_review_detail.app_store_review_attachments || []
|
567
567
|
|
568
568
|
if options[:app_review_attachment_file]
|
569
|
-
|
569
|
+
app_store_review_attachments.each do |app_store_review_attachment|
|
570
570
|
UI.message("Removing previous review attachment file from App Store Connect")
|
571
|
-
|
571
|
+
app_store_review_attachment.delete!
|
572
572
|
end
|
573
573
|
|
574
574
|
UI.message("Uploading review attachment file to App Store Connect")
|
575
575
|
app_store_review_detail.upload_attachment(path: options[:app_review_attachment_file])
|
576
576
|
else
|
577
|
-
|
578
|
-
UI.message("Removing review attachment file to App Store Connect") unless
|
577
|
+
app_store_review_attachments.each(&:delete!)
|
578
|
+
UI.message("Removing review attachment file to App Store Connect") unless app_store_review_attachments.empty?
|
579
579
|
end
|
580
580
|
end
|
581
581
|
|
@@ -614,8 +614,8 @@ module Deliver
|
|
614
614
|
end
|
615
615
|
UI.deprecated("You can find more info at https://docs.fastlane.tools/actions/deliver/#reference") if has_mapped_values
|
616
616
|
|
617
|
-
|
618
|
-
|
617
|
+
age_rating_declaration = version.fetch_age_rating_declaration
|
618
|
+
age_rating_declaration.update(attributes: attributes)
|
619
619
|
end
|
620
620
|
end
|
621
621
|
# rubocop:enable Metrics/ClassLength
|
@@ -229,3 +229,6 @@ If you are on multiple App Store Connect teams, iTunes Transporter may need a pr
|
|
229
229
|
## Use an Application Specific Password to upload
|
230
230
|
|
231
231
|
_pilot_/`upload_to_testflight` can use an [Application Specific Password via the `FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD` envirionment variable](https://docs.fastlane.tools/best-practices/continuous-integration/#application-specific-passwords) to upload a binary if both the `skip_waiting_for_build_processing` and `apple_id` options are set. (If any of those are not set, it will use the normal Apple login process that might require 2FA authentication.)
|
232
|
+
|
233
|
+
## Role for App Store Connect User
|
234
|
+
_pilot_/`upload_to_testflight` updates build information and testers after the build has finished processing. App Store Connect requires the "App Manager" or "Admin" role for your Apple account to update this information. The "Developer" role will allow builds to be uploaded but _will not_ allow updating of build information and testers.
|
@@ -72,13 +72,23 @@ module Fastlane
|
|
72
72
|
|
73
73
|
UI.message('Querying request status')
|
74
74
|
|
75
|
+
# As of July 2020, the request UUID might not be available for polling yet which returns an error code
|
76
|
+
# This is now handled with the error_callback (which prevents an error from being raised)
|
77
|
+
# Catching this error allows for polling to continue until the notarization is complete
|
78
|
+
error = false
|
75
79
|
notarization_info_response = Actions.sh(
|
76
80
|
"xcrun altool --notarization-info #{notarization_request_id} -u #{apple_id_account.user} -p @env:FL_NOTARIZE_PASSWORD --output-format xml",
|
77
|
-
log: verbose
|
81
|
+
log: verbose,
|
82
|
+
error_callback: lambda { |msg|
|
83
|
+
error = true
|
84
|
+
UI.error("Error polling for notarization info: #{msg}")
|
85
|
+
}
|
78
86
|
)
|
79
87
|
|
80
|
-
|
81
|
-
|
88
|
+
unless error
|
89
|
+
notarization_info_plist = Plist.parse_xml(notarization_info_response)
|
90
|
+
notarization_info = notarization_info_plist['notarization-info']
|
91
|
+
end
|
82
92
|
end
|
83
93
|
|
84
94
|
log_url = notarization_info['LogFileURL']
|
@@ -51,6 +51,10 @@ module Fastlane
|
|
51
51
|
command << "--use-modular-headers"
|
52
52
|
end
|
53
53
|
|
54
|
+
if params[:synchronous]
|
55
|
+
command << "--synchronous"
|
56
|
+
end
|
57
|
+
|
54
58
|
result = Actions.sh(command.join(' '))
|
55
59
|
UI.success("Successfully pushed Podspec ⬆️ ")
|
56
60
|
return result
|
@@ -127,7 +131,12 @@ module Fastlane
|
|
127
131
|
description: "Use modular headers option during validation",
|
128
132
|
optional: true,
|
129
133
|
type: Boolean,
|
130
|
-
env_name: "FL_POD_PUSH_USE_MODULAR_HEADERS")
|
134
|
+
env_name: "FL_POD_PUSH_USE_MODULAR_HEADERS"),
|
135
|
+
FastlaneCore::ConfigItem.new(key: :synchronous,
|
136
|
+
description: "If validation depends on other recently pushed pods, synchronize",
|
137
|
+
optional: true,
|
138
|
+
type: Boolean,
|
139
|
+
env_name: "FL_POD_PUSH_SYNCHRONOUS")
|
131
140
|
]
|
132
141
|
end
|
133
142
|
|