fastlane 2.202.0 → 2.212.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 +98 -98
- data/cert/lib/cert/runner.rb +15 -7
- data/deliver/lib/deliver/app_screenshot.rb +18 -0
- data/deliver/lib/deliver/options.rb +6 -2
- data/deliver/lib/deliver/runner.rb +76 -29
- data/deliver/lib/deliver/upload_price_tier.rb +3 -1
- data/deliver/lib/deliver/upload_screenshots.rb +1 -1
- data/fastlane/lib/assets/AppfileTemplate +1 -1
- data/fastlane/lib/assets/AppfileTemplate.swift +1 -1
- data/fastlane/lib/fastlane/actions/badge.rb +1 -1
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +1 -1
- data/fastlane/lib/fastlane/actions/danger.rb +14 -0
- data/fastlane/lib/fastlane/actions/docs/build_app.md +5 -5
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +19 -2
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/run_tests.md +1 -1
- data/fastlane/lib/fastlane/actions/get_version_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/git_commit.rb +4 -6
- data/fastlane/lib/fastlane/actions/import_certificate.rb +1 -1
- data/fastlane/lib/fastlane/actions/pod_lib_lint.rb +1 -1
- data/fastlane/lib/fastlane/actions/pod_push.rb +19 -1
- data/fastlane/lib/fastlane/actions/read_podspec.rb +1 -1
- data/fastlane/lib/fastlane/actions/run_tests.rb +11 -9
- data/fastlane/lib/fastlane/actions/setup_ci.rb +13 -4
- data/fastlane/lib/fastlane/actions/trainer.rb +2 -2
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +14 -4
- data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +10 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
- data/fastlane/lib/fastlane/actions/verify_build.rb +1 -1
- data/fastlane/lib/fastlane/actions/xcode_install.rb +5 -1
- data/fastlane/lib/fastlane/actions/xcode_select.rb +1 -1
- data/fastlane/lib/fastlane/actions/xcodebuild.rb +8 -2
- data/fastlane/lib/fastlane/actions/xcodes.rb +152 -0
- data/fastlane/lib/fastlane/actions/xcversion.rb +10 -15
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +5 -0
- data/fastlane/lib/fastlane/commands_generator.rb +2 -1
- data/fastlane/lib/fastlane/fast_file.rb +18 -5
- data/fastlane/lib/fastlane/features.rb +3 -0
- data/fastlane/lib/fastlane/helper/xcodes_helper.rb +28 -0
- data/fastlane/lib/fastlane/helper/xcversion_helper.rb +0 -9
- data/fastlane/lib/fastlane/lane_manager.rb +1 -1
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
- data/fastlane/lib/fastlane/setup/setup_ios.rb +1 -1
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +1 -1
- data/fastlane/lib/fastlane/swift_lane_manager.rb +11 -3
- data/fastlane/lib/fastlane/swift_runner_upgrader.rb +54 -1
- data/fastlane/lib/fastlane/tools.rb +16 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Actions.swift +1 -1
- data/fastlane/swift/Appfile.swift +2 -2
- data/fastlane/swift/ArgumentProcessor.swift +1 -1
- data/fastlane/swift/Atomic.swift +150 -0
- data/fastlane/swift/ControlCommand.swift +1 -1
- data/fastlane/swift/Deliverfile.swift +2 -2
- data/fastlane/swift/DeliverfileProtocol.swift +8 -4
- data/fastlane/swift/Fastlane.swift +363 -184
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +30 -20
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +1 -1
- data/fastlane/swift/Gymfile.swift +2 -2
- data/fastlane/swift/GymfileProtocol.swift +7 -3
- data/fastlane/swift/LaneFileProtocol.swift +2 -2
- data/fastlane/swift/MainProcess.swift +3 -3
- data/fastlane/swift/Matchfile.swift +2 -2
- data/fastlane/swift/MatchfileProtocol.swift +21 -5
- data/fastlane/swift/OptionalConfigValue.swift +1 -1
- data/fastlane/swift/Plugins.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +2 -2
- data/fastlane/swift/PrecheckfileProtocol.swift +3 -3
- data/fastlane/swift/RubyCommand.swift +1 -1
- data/fastlane/swift/RubyCommandable.swift +1 -1
- data/fastlane/swift/Runner.swift +10 -2
- data/fastlane/swift/RunnerArgument.swift +1 -1
- data/fastlane/swift/Scanfile.swift +2 -2
- data/fastlane/swift/ScanfileProtocol.swift +11 -3
- data/fastlane/swift/Screengrabfile.swift +2 -2
- data/fastlane/swift/ScreengrabfileProtocol.swift +3 -3
- data/fastlane/swift/Snapshotfile.swift +2 -2
- data/fastlane/swift/SnapshotfileProtocol.swift +4 -4
- data/fastlane/swift/SocketClient.swift +9 -5
- data/fastlane/swift/SocketClientDelegateProtocol.swift +2 -2
- data/fastlane/swift/SocketResponse.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +42 -24
- data/fastlane/swift/main.swift +1 -1
- data/fastlane/swift/upgrade_manifest.json +1 -1
- data/fastlane_core/README.md +1 -0
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +79 -17
- data/fastlane_core/lib/fastlane_core/device_manager.rb +5 -1
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +335 -20
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -0
- data/fastlane_core/lib/fastlane_core/project.rb +19 -2
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +4 -2
- data/frameit/lib/frameit/device.rb +1 -1
- data/frameit/lib/frameit/device_types.rb +9 -0
- data/frameit/lib/frameit/frame_downloader.rb +1 -1
- data/gym/lib/gym/generators/build_command_generator.rb +1 -0
- data/gym/lib/gym/options.rb +7 -0
- data/match/lib/match/change_password.rb +2 -0
- data/match/lib/match/commands_generator.rb +2 -1
- data/match/lib/match/encryption/openssl.rb +1 -1
- data/match/lib/match/encryption.rb +3 -0
- data/match/lib/match/generator.rb +1 -0
- data/match/lib/match/importer.rb +10 -1
- data/match/lib/match/migrate.rb +4 -3
- data/match/lib/match/module.rb +54 -2
- data/match/lib/match/nuke.rb +36 -47
- data/match/lib/match/options.rb +22 -1
- data/match/lib/match/runner.rb +25 -6
- data/match/lib/match/setup.rb +1 -1
- data/match/lib/match/spaceship_ensure.rb +4 -2
- data/match/lib/match/storage/gitlab/client.rb +102 -0
- data/match/lib/match/storage/gitlab/secure_file.rb +65 -0
- data/match/lib/match/storage/gitlab_secure_files.rb +182 -0
- data/match/lib/match/storage/google_cloud_storage.rb +7 -6
- data/match/lib/match/storage/s3_storage.rb +3 -3
- data/match/lib/match/storage.rb +4 -0
- data/match/lib/match/table_printer.rb +2 -1
- data/match/lib/match/utils.rb +15 -2
- data/pem/lib/pem/manager.rb +1 -1
- data/pilot/lib/pilot/build_manager.rb +33 -13
- data/pilot/lib/pilot/options.rb +6 -1
- data/scan/lib/scan/detect_values.rb +6 -0
- data/scan/lib/scan/options.rb +16 -1
- data/scan/lib/scan/runner.rb +33 -14
- data/scan/lib/scan/test_command_generator.rb +7 -1
- data/sigh/lib/sigh/download_all.rb +14 -2
- data/sigh/lib/sigh/module.rb +3 -1
- data/sigh/lib/sigh/options.rb +5 -0
- data/sigh/lib/sigh/runner.rb +12 -2
- data/snapshot/lib/assets/SnapshotHelper.swift +3 -3
- data/snapshot/lib/snapshot/options.rb +1 -1
- data/snapshot/lib/snapshot/reports_generator.rb +1 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +9 -2
- data/spaceship/lib/spaceship/client.rb +36 -25
- data/spaceship/lib/spaceship/connect_api/api_client.rb +10 -5
- data/spaceship/lib/spaceship/connect_api/models/actor.rb +26 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +7 -5
- data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +27 -10
- data/spaceship/lib/spaceship/connect_api/models/build_bundle.rb +9 -0
- data/spaceship/lib/spaceship/connect_api/models/build_bundle_file_sizes.rb +34 -0
- data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +2 -1
- data/spaceship/lib/spaceship/connect_api/models/certificate.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/device.rb +47 -4
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +4 -0
- data/spaceship/lib/spaceship/connect_api/models/resolution_center_message.rb +29 -0
- data/spaceship/lib/spaceship/connect_api/models/resolution_center_thread.rb +67 -0
- data/spaceship/lib/spaceship/connect_api/models/review_rejection.rb +19 -0
- data/spaceship/lib/spaceship/connect_api/models/review_submission.rb +13 -0
- data/spaceship/lib/spaceship/connect_api/models/user.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +19 -0
- data/spaceship/lib/spaceship/connect_api/response.rb +10 -6
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +33 -2
- data/spaceship/lib/spaceship/connect_api/token.rb +5 -2
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +41 -8
- data/spaceship/lib/spaceship/connect_api.rb +6 -0
- data/spaceship/lib/spaceship/errors.rb +34 -0
- data/spaceship/lib/spaceship/hashcash.rb +52 -0
- data/spaceship/lib/spaceship/portal/certificate.rb +4 -3
- data/spaceship/lib/spaceship/tunes/app_ratings.rb +6 -6
- data/spaceship/lib/spaceship/tunes/iap_families.rb +1 -1
- data/spaceship/lib/spaceship/tunes/tunes.rb +0 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +79 -21
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +11 -3
- data/spaceship/lib/spaceship.rb +1 -0
- data/supply/lib/supply/client.rb +2 -7
- data/trainer/lib/assets/junit.xml.erb +9 -1
- data/trainer/lib/trainer/junit_generator.rb +2 -2
- data/trainer/lib/trainer/options.rb +1 -1
- data/trainer/lib/trainer/test_parser.rb +25 -3
- metadata +36 -33
- data/deliver/lib/deliver/.runner.rb.swp +0 -0
- data/deliver/lib/deliver/.submit_for_review.rb.swp +0 -0
- data/fastlane/lib/.DS_Store +0 -0
- data/fastlane/lib/fastlane/.DS_Store +0 -0
- data/fastlane/lib/fastlane/actions/.DS_Store +0 -0
- data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/testflight/.testflight.rb.swp +0 -0
- data/spaceship/lib/spaceship/tunes/user_detail.rb +0 -15
- data/trainer/lib/.DS_Store +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 244364fbe5e40c851dc1afbb79fe8c79ba76fedee6e607d7cf950f043ba7b921
|
4
|
+
data.tar.gz: 5f4f4f4462eb64a87ed63df0ece646c100ae8d3a0c37a84eff9cbad76f51c2a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae5c7a99e698db70b74516d415601ee4368fa864cd114a867d44098e0e52a2b68a361fc0178f902c0f0e6fefe3618639a259c92bde33906cb6a0501aa82d18e2
|
7
|
+
data.tar.gz: b736ceec481316c6d9cde333299bff4c8145e5b11f5e802acb60a9c59028c9a9444a7a771dcf8f21f952a3cd64e2959e7a87ae224fecad503e34a1d032481123
|
data/README.md
CHANGED
@@ -35,11 +35,11 @@ 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='
|
39
|
-
<a href='https://github.com/
|
40
|
-
<img src='https://github.com/
|
38
|
+
<td id='roger-oba'>
|
39
|
+
<a href='https://github.com/rogerluan'>
|
40
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
41
41
|
</a>
|
42
|
-
<h4 align='center'>
|
42
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
43
43
|
</td>
|
44
44
|
<td id='fumiya-nakamura'>
|
45
45
|
<a href='https://github.com/nafu'>
|
@@ -47,107 +47,101 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
47
47
|
</a>
|
48
48
|
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
49
49
|
</td>
|
50
|
-
<td id='
|
51
|
-
<a href='https://github.com/
|
52
|
-
<img src='https://github.com/
|
50
|
+
<td id='josh-holtz'>
|
51
|
+
<a href='https://github.com/joshdholtz'>
|
52
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
53
53
|
</a>
|
54
|
-
<h4 align='center'><a href='https://twitter.com/
|
54
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
55
55
|
</td>
|
56
|
-
<td id='
|
57
|
-
<a href='https://github.com/
|
58
|
-
<img src='https://github.com/
|
56
|
+
<td id='daniel-jankowski'>
|
57
|
+
<a href='https://github.com/mollyIV'>
|
58
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
59
59
|
</a>
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
60
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
61
61
|
</td>
|
62
|
-
<td id='
|
63
|
-
<a href='https://github.com/
|
64
|
-
<img src='https://github.com/
|
62
|
+
<td id='jan-piotrowski'>
|
63
|
+
<a href='https://github.com/janpio'>
|
64
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
65
65
|
</a>
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
66
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
67
67
|
</td>
|
68
68
|
</tr>
|
69
69
|
<tr>
|
70
|
-
<td id='
|
71
|
-
<a href='https://github.com/
|
72
|
-
<img src='https://github.com/
|
70
|
+
<td id='satoshi-namai'>
|
71
|
+
<a href='https://github.com/ainame'>
|
72
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
73
73
|
</a>
|
74
|
-
<h4 align='center'><a href='https://twitter.com/
|
74
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
75
75
|
</td>
|
76
|
-
<td id='
|
77
|
-
<a href='https://github.com/
|
78
|
-
<img src='https://github.com/
|
76
|
+
<td id='danielle-tomlinson'>
|
77
|
+
<a href='https://github.com/endocrimes'>
|
78
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
79
79
|
</a>
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
80
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
81
81
|
</td>
|
82
|
-
<td id='
|
83
|
-
<a href='https://github.com/
|
84
|
-
<img src='https://github.com/
|
82
|
+
<td id='stefan-natchev'>
|
83
|
+
<a href='https://github.com/snatchev'>
|
84
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
85
85
|
</a>
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
86
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
87
87
|
</td>
|
88
|
-
<td id='
|
89
|
-
<a href='https://github.com/
|
90
|
-
<img src='https://github.com/
|
88
|
+
<td id='matthew-ellis'>
|
89
|
+
<a href='https://github.com/matthewellis'>
|
90
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
91
91
|
</a>
|
92
|
-
<h4 align='center'><a href='https://twitter.com/
|
92
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
93
93
|
</td>
|
94
|
-
<td id='
|
95
|
-
<a href='https://github.com/
|
96
|
-
<img src='https://github.com/
|
94
|
+
<td id='iulian-onofrei'>
|
95
|
+
<a href='https://github.com/revolter'>
|
96
|
+
<img src='https://github.com/revolter.png' width='140px;'>
|
97
97
|
</a>
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
98
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
99
99
|
</td>
|
100
100
|
</tr>
|
101
101
|
<tr>
|
102
|
-
<td id='
|
103
|
-
<a href='https://github.com/
|
104
|
-
<img src='https://github.com/
|
102
|
+
<td id='jorge-revuelta-h'>
|
103
|
+
<a href='https://github.com/minuscorp'>
|
104
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
105
105
|
</a>
|
106
|
-
<h4 align='center'><a href='https://twitter.com/
|
106
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
107
107
|
</td>
|
108
|
-
<td id='
|
109
|
-
<a href='https://github.com/
|
110
|
-
<img src='https://github.com/
|
108
|
+
<td id='maksym-grebenets'>
|
109
|
+
<a href='https://github.com/mgrebenets'>
|
110
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
111
111
|
</a>
|
112
|
-
<h4 align='center'><a href='https://twitter.com/
|
112
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
113
113
|
</td>
|
114
|
-
<td id='
|
115
|
-
<a href='https://github.com/
|
116
|
-
<img src='https://github.com/
|
114
|
+
<td id='luka-mirosevic'>
|
115
|
+
<a href='https://github.com/lmirosevic'>
|
116
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
117
117
|
</a>
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
118
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
119
119
|
</td>
|
120
|
-
<td id='
|
121
|
-
<a href='https://github.com/
|
122
|
-
<img src='https://github.com/
|
120
|
+
<td id='manish-rathi'>
|
121
|
+
<a href='https://github.com/crazymanish'>
|
122
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
123
123
|
</a>
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
124
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
125
125
|
</td>
|
126
|
-
<td id='
|
127
|
-
<a href='https://github.com/
|
128
|
-
<img src='https://github.com/
|
126
|
+
<td id='felix-krause'>
|
127
|
+
<a href='https://github.com/KrauseFx'>
|
128
|
+
<img src='https://github.com/KrauseFx.png' width='140px;'>
|
129
129
|
</a>
|
130
|
-
<h4 align='center'><a href='https://twitter.com/
|
130
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
131
131
|
</td>
|
132
132
|
</tr>
|
133
133
|
<tr>
|
134
|
-
<td id='
|
135
|
-
<a href='https://github.com/
|
136
|
-
<img src='https://github.com/
|
137
|
-
</a>
|
138
|
-
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
139
|
-
</td>
|
140
|
-
<td id='max-ott'>
|
141
|
-
<a href='https://github.com/max-ott'>
|
142
|
-
<img src='https://github.com/max-ott.png' width='140px;'>
|
134
|
+
<td id='helmut-januschka'>
|
135
|
+
<a href='https://github.com/hjanuschka'>
|
136
|
+
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
143
137
|
</a>
|
144
|
-
<h4 align='center'><a href='https://twitter.com/
|
138
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
145
139
|
</td>
|
146
|
-
<td id='
|
147
|
-
<a href='https://github.com/
|
148
|
-
<img src='https://github.com/
|
140
|
+
<td id='olivier-halligon'>
|
141
|
+
<a href='https://github.com/AliSoftware'>
|
142
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
149
143
|
</a>
|
150
|
-
<h4 align='center'><a href='https://twitter.com/
|
144
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
151
145
|
</td>
|
152
146
|
<td id='łukasz-grabowski'>
|
153
147
|
<a href='https://github.com/lucgrabowski'>
|
@@ -155,51 +149,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
155
149
|
</a>
|
156
150
|
<h4 align='center'>Łukasz Grabowski</h4>
|
157
151
|
</td>
|
158
|
-
<td id='
|
159
|
-
<a href='https://github.com/
|
160
|
-
<img src='https://github.com/
|
152
|
+
<td id='kohki-miki'>
|
153
|
+
<a href='https://github.com/giginet'>
|
154
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
161
155
|
</a>
|
162
|
-
<h4 align='center'><a href='https://twitter.com/
|
156
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
157
|
+
</td>
|
158
|
+
<td id='joshua-liebowitz'>
|
159
|
+
<a href='https://github.com/taquitos'>
|
160
|
+
<img src='https://github.com/taquitos.png' width='140px;'>
|
161
|
+
</a>
|
162
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
163
163
|
</td>
|
164
164
|
</tr>
|
165
165
|
<tr>
|
166
|
-
<td id='
|
167
|
-
<a href='https://github.com/
|
168
|
-
<img src='https://github.com/
|
166
|
+
<td id='jimmy-dee'>
|
167
|
+
<a href='https://github.com/jdee'>
|
168
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
169
169
|
</a>
|
170
|
-
<h4 align='center'
|
170
|
+
<h4 align='center'>Jimmy Dee</h4>
|
171
171
|
</td>
|
172
|
-
<td id='
|
173
|
-
<a href='https://github.com/
|
174
|
-
<img src='https://github.com/
|
172
|
+
<td id='manu-wallner'>
|
173
|
+
<a href='https://github.com/milch'>
|
174
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
175
175
|
</a>
|
176
|
-
<h4 align='center'><a href='https://twitter.com/
|
176
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
177
177
|
</td>
|
178
|
-
<td id='
|
179
|
-
<a href='https://github.com/
|
180
|
-
<img src='https://github.com/
|
178
|
+
<td id='aaron-brager'>
|
179
|
+
<a href='https://github.com/getaaron'>
|
180
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
181
181
|
</a>
|
182
|
-
<h4 align='center'><a href='https://twitter.com/
|
182
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
183
183
|
</td>
|
184
|
-
<td id='
|
185
|
-
<a href='https://github.com/
|
186
|
-
<img src='https://github.com/
|
184
|
+
<td id='max-ott'>
|
185
|
+
<a href='https://github.com/max-ott'>
|
186
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
187
187
|
</a>
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
188
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
189
189
|
</td>
|
190
|
-
<td id='
|
191
|
-
<a href='https://github.com/
|
192
|
-
<img src='https://github.com/
|
190
|
+
<td id='andrew-mcburney'>
|
191
|
+
<a href='https://github.com/armcburney'>
|
192
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
193
193
|
</a>
|
194
|
-
<h4 align='center'><a href='https://twitter.com/
|
194
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
195
195
|
</td>
|
196
196
|
</tr>
|
197
197
|
<tr>
|
198
|
-
<td id='
|
199
|
-
<a href='https://github.com/
|
200
|
-
<img src='https://github.com/
|
198
|
+
<td id='jérôme-lacoste'>
|
199
|
+
<a href='https://github.com/lacostej'>
|
200
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
201
201
|
</a>
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
202
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
203
203
|
</td>
|
204
204
|
</table>
|
205
205
|
|
data/cert/lib/cert/runner.rb
CHANGED
@@ -138,26 +138,34 @@ module Cert
|
|
138
138
|
# All certificates of this type
|
139
139
|
def certificates
|
140
140
|
filter = {
|
141
|
-
certificateType:
|
141
|
+
certificateType: certificate_types.join(",")
|
142
142
|
}
|
143
143
|
return Spaceship::ConnectAPI::Certificate.all(filter: filter)
|
144
144
|
end
|
145
145
|
|
146
|
-
# The kind of certificate we're interested in
|
146
|
+
# The kind of certificate we're interested in (for creating)
|
147
147
|
def certificate_type
|
148
|
+
return certificate_types.first
|
149
|
+
end
|
150
|
+
|
151
|
+
# The kind of certificates we're interested in (for listing)
|
152
|
+
def certificate_types
|
148
153
|
if Cert.config[:type]
|
149
154
|
case Cert.config[:type].to_sym
|
150
155
|
when :mac_installer_distribution
|
151
|
-
return Spaceship::ConnectAPI::Certificate::CertificateType::MAC_INSTALLER_DISTRIBUTION
|
156
|
+
return [Spaceship::ConnectAPI::Certificate::CertificateType::MAC_INSTALLER_DISTRIBUTION]
|
152
157
|
when :developer_id_application
|
153
|
-
return
|
158
|
+
return [
|
159
|
+
Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_APPLICATION_G2,
|
160
|
+
Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_APPLICATION
|
161
|
+
]
|
154
162
|
when :developer_id_kext
|
155
|
-
return Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_KEXT
|
163
|
+
return [Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_KEXT]
|
156
164
|
when :developer_id_installer
|
157
165
|
if !Spaceship::ConnectAPI.token.nil?
|
158
166
|
raise "As of 2021-11-09, the App Store Connect API does not allow accessing DEVELOPER_ID_INSTALLER with the API Key. Please file an issue on GitHub if this has changed and needs to be updated"
|
159
167
|
else
|
160
|
-
return Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_INSTALLER
|
168
|
+
return [Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_INSTALLER]
|
161
169
|
end
|
162
170
|
else
|
163
171
|
UI.user_error("Unaccepted value for :type - #{Cert.config[:type]}")
|
@@ -182,7 +190,7 @@ module Cert
|
|
182
190
|
end
|
183
191
|
end
|
184
192
|
|
185
|
-
return cert_type
|
193
|
+
return [cert_type]
|
186
194
|
end
|
187
195
|
|
188
196
|
def create_certificate
|
@@ -23,6 +23,8 @@ module Deliver
|
|
23
23
|
IOS_61 = "iOS-6.1-in"
|
24
24
|
# iPhone XS Max
|
25
25
|
IOS_65 = "iOS-6.5-in"
|
26
|
+
# iPhone 14 Pro Max
|
27
|
+
IOS_67 = "iOS-6.7-in"
|
26
28
|
|
27
29
|
# iPad
|
28
30
|
IOS_IPAD = "iOS-iPad"
|
@@ -47,6 +49,8 @@ module Deliver
|
|
47
49
|
IOS_61_MESSAGES = "iOS-6.1-in-messages"
|
48
50
|
# iPhone XS Max iMessage
|
49
51
|
IOS_65_MESSAGES = "iOS-6.5-in-messages"
|
52
|
+
# iPhone 14 Pro Max iMessage
|
53
|
+
IOS_67_MESSAGES = "iOS-6.7-in-messages"
|
50
54
|
|
51
55
|
# iPad iMessage
|
52
56
|
IOS_IPAD_MESSAGES = "iOS-iPad-messages"
|
@@ -101,6 +105,7 @@ module Deliver
|
|
101
105
|
ScreenSize::IOS_55 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_55, # also 7 Plus & 8 Plus
|
102
106
|
ScreenSize::IOS_58 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_58,
|
103
107
|
ScreenSize::IOS_65 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_65,
|
108
|
+
ScreenSize::IOS_67 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPHONE_67,
|
104
109
|
ScreenSize::IOS_IPAD => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPAD_97,
|
105
110
|
ScreenSize::IOS_IPAD_10_5 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPAD_105,
|
106
111
|
ScreenSize::IOS_IPAD_11 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_IPAD_PRO_3GEN_11,
|
@@ -111,6 +116,7 @@ module Deliver
|
|
111
116
|
ScreenSize::IOS_55_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_55, # also 7 Plus & 8 Plus
|
112
117
|
ScreenSize::IOS_58_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_58,
|
113
118
|
ScreenSize::IOS_65_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_65,
|
119
|
+
ScreenSize::IOS_67_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPHONE_67,
|
114
120
|
ScreenSize::IOS_IPAD_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPAD_97,
|
115
121
|
ScreenSize::IOS_IPAD_PRO_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPAD_PRO_129,
|
116
122
|
ScreenSize::IOS_IPAD_PRO_12_9_MESSAGES => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::IMESSAGE_APP_IPAD_PRO_3GEN_129,
|
@@ -135,6 +141,7 @@ module Deliver
|
|
135
141
|
ScreenSize::IOS_58 => "iPhone XS",
|
136
142
|
ScreenSize::IOS_61 => "iPhone XR",
|
137
143
|
ScreenSize::IOS_65 => "iPhone XS Max",
|
144
|
+
ScreenSize::IOS_67 => "iPhone 14 Pro Max",
|
138
145
|
ScreenSize::IOS_IPAD => "iPad",
|
139
146
|
ScreenSize::IOS_IPAD_10_5 => "iPad 10.5",
|
140
147
|
ScreenSize::IOS_IPAD_11 => "iPad 11",
|
@@ -146,6 +153,7 @@ module Deliver
|
|
146
153
|
ScreenSize::IOS_58_MESSAGES => "iPhone XS (iMessage)",
|
147
154
|
ScreenSize::IOS_61_MESSAGES => "iPhone XR (iMessage)",
|
148
155
|
ScreenSize::IOS_65_MESSAGES => "iPhone XS Max (iMessage)",
|
156
|
+
ScreenSize::IOS_67_MESSAGES => "iPhone 14 Pro Max (iMessage)",
|
149
157
|
ScreenSize::IOS_IPAD_MESSAGES => "iPad (iMessage)",
|
150
158
|
ScreenSize::IOS_IPAD_PRO_MESSAGES => "iPad Pro (iMessage)",
|
151
159
|
ScreenSize::IOS_IPAD_PRO_12_9_MESSAGES => "iPad Pro (12.9-inch) (3rd generation) (iMessage)",
|
@@ -175,6 +183,7 @@ module Deliver
|
|
175
183
|
ScreenSize::IOS_55_MESSAGES,
|
176
184
|
ScreenSize::IOS_58_MESSAGES,
|
177
185
|
ScreenSize::IOS_65_MESSAGES,
|
186
|
+
ScreenSize::IOS_67_MESSAGES,
|
178
187
|
ScreenSize::IOS_IPAD_MESSAGES,
|
179
188
|
ScreenSize::IOS_IPAD_PRO_MESSAGES,
|
180
189
|
ScreenSize::IOS_IPAD_PRO_12_9_MESSAGES,
|
@@ -187,6 +196,10 @@ module Deliver
|
|
187
196
|
# This list does not include iPad Pro 12.9-inch (3rd generation)
|
188
197
|
# because it has same resoluation as IOS_IPAD_PRO and will clobber
|
189
198
|
return {
|
199
|
+
ScreenSize::IOS_67_MESSAGES => [
|
200
|
+
[1290, 2796],
|
201
|
+
[2796, 1290]
|
202
|
+
],
|
190
203
|
ScreenSize::IOS_65_MESSAGES => [
|
191
204
|
[1242, 2688],
|
192
205
|
[2688, 1242],
|
@@ -247,6 +260,10 @@ module Deliver
|
|
247
260
|
# This list does not include iPad Pro 12.9-inch (3rd generation)
|
248
261
|
# because it has same resoluation as IOS_IPAD_PRO and will clobber
|
249
262
|
return {
|
263
|
+
ScreenSize::IOS_67 => [
|
264
|
+
[1290, 2796],
|
265
|
+
[2796, 1290]
|
266
|
+
],
|
250
267
|
ScreenSize::IOS_65 => [
|
251
268
|
[1242, 2688],
|
252
269
|
[2688, 1242],
|
@@ -332,6 +349,7 @@ module Deliver
|
|
332
349
|
"iPad Pro (12.9-inch) (3rd generation)", # Default simulator has this name
|
333
350
|
"iPad Pro (12.9-inch) (4th generation)", # Default simulator has this name
|
334
351
|
"iPad Pro (12.9-inch) (5th generation)", # Default simulator has this name
|
352
|
+
"iPad Pro (12.9-inch) (6th generation)", # Default simulator has this name
|
335
353
|
"IPAD_PRO_3GEN_129", # Screenshots downloaded from App Store Connect has this name
|
336
354
|
"ipadPro129" # Legacy: screenshots downloaded from iTunes Connect used to have this name
|
337
355
|
].any? { |key| filename.include?(key) }
|
@@ -164,8 +164,7 @@ module Deliver
|
|
164
164
|
default_value: false),
|
165
165
|
FastlaneCore::ConfigItem.new(key: :sync_screenshots,
|
166
166
|
env_name: "DELIVER_SYNC_SCREENSHOTS",
|
167
|
-
description: "Sync screenshots with local ones. This is currently beta option"
|
168
|
-
"so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well",
|
167
|
+
description: "Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well",
|
169
168
|
type: Boolean,
|
170
169
|
default_value: false),
|
171
170
|
FastlaneCore::ConfigItem.new(key: :submit_for_review,
|
@@ -173,6 +172,11 @@ module Deliver
|
|
173
172
|
description: "Submit the new version for Review after uploading everything",
|
174
173
|
type: Boolean,
|
175
174
|
default_value: false),
|
175
|
+
FastlaneCore::ConfigItem.new(key: :verify_only,
|
176
|
+
env_name: "DELIVER_VERIFY_ONLY",
|
177
|
+
description: "Verifies archive with App Store Connect without uploading",
|
178
|
+
type: Boolean,
|
179
|
+
default_value: false),
|
176
180
|
FastlaneCore::ConfigItem.new(key: :reject_if_possible,
|
177
181
|
env_name: "DELIVER_REJECT_IF_POSSIBLE",
|
178
182
|
description: "Rejects the previously submitted build if it's in a state where it's possible",
|
@@ -46,6 +46,12 @@ module Deliver
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def run
|
49
|
+
if options[:verify_only]
|
50
|
+
UI.important("Verify flag is set, only package validation will take place and no submission will be made")
|
51
|
+
verify_binary
|
52
|
+
return
|
53
|
+
end
|
54
|
+
|
49
55
|
verify_version if options[:app_version].to_s.length > 0 && !options[:skip_app_version_update]
|
50
56
|
|
51
57
|
# Rejecting before upload meta
|
@@ -155,39 +161,74 @@ module Deliver
|
|
155
161
|
UploadPriceTier.new.upload(options)
|
156
162
|
end
|
157
163
|
|
164
|
+
# Verify the binary with App Store Connect
|
165
|
+
def verify_binary
|
166
|
+
UI.message("Verifying binary with App Store Connect")
|
167
|
+
|
168
|
+
ipa_path = options[:ipa]
|
169
|
+
pkg_path = options[:pkg]
|
170
|
+
|
171
|
+
platform = options[:platform]
|
172
|
+
transporter = transporter_for_selected_team
|
173
|
+
|
174
|
+
case platform
|
175
|
+
when "ios", "appletvos"
|
176
|
+
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
177
|
+
app_id: Deliver.cache[:app].id,
|
178
|
+
ipa_path: ipa_path,
|
179
|
+
package_path: "/tmp",
|
180
|
+
platform: platform
|
181
|
+
)
|
182
|
+
result = transporter.verify(package_path: package_path)
|
183
|
+
when "osx"
|
184
|
+
package_path = FastlaneCore::PkgUploadPackageBuilder.new.generate(
|
185
|
+
app_id: Deliver.cache[:app].id,
|
186
|
+
pkg_path: pkg_path,
|
187
|
+
package_path: "/tmp",
|
188
|
+
platform: platform
|
189
|
+
)
|
190
|
+
result = transporter.verify(package_path: package_path)
|
191
|
+
else
|
192
|
+
UI.user_error!("No suitable file found for verify for platform: #{options[:platform]}")
|
193
|
+
end
|
194
|
+
|
195
|
+
unless result
|
196
|
+
transporter_errors = transporter.displayable_errors
|
197
|
+
UI.user_error!("Error verifying the binary file: \n #{transporter_errors}")
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
158
201
|
# Upload the binary to App Store Connect
|
159
202
|
def upload_binary
|
160
203
|
UI.message("Uploading binary to App Store Connect")
|
161
204
|
|
162
|
-
|
163
|
-
|
205
|
+
ipa_path = options[:ipa]
|
206
|
+
pkg_path = options[:pkg]
|
164
207
|
|
165
|
-
|
166
|
-
|
167
|
-
if upload_ipa && upload_pkg
|
168
|
-
upload_ipa = ["ios", "appletvos"].include?(options[:platform])
|
169
|
-
upload_pkg = options[:platform] == "osx"
|
170
|
-
end
|
208
|
+
platform = options[:platform]
|
209
|
+
transporter = transporter_for_selected_team(upload: true)
|
171
210
|
|
172
|
-
|
211
|
+
case platform
|
212
|
+
when "ios", "appletvos"
|
173
213
|
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
174
214
|
app_id: Deliver.cache[:app].id,
|
175
|
-
ipa_path:
|
215
|
+
ipa_path: ipa_path,
|
176
216
|
package_path: "/tmp",
|
177
|
-
platform:
|
217
|
+
platform: platform
|
178
218
|
)
|
179
|
-
|
219
|
+
result = transporter.upload(package_path: package_path, asset_path: ipa_path, platform: platform)
|
220
|
+
when "osx"
|
180
221
|
package_path = FastlaneCore::PkgUploadPackageBuilder.new.generate(
|
181
222
|
app_id: Deliver.cache[:app].id,
|
182
|
-
pkg_path:
|
223
|
+
pkg_path: pkg_path,
|
183
224
|
package_path: "/tmp",
|
184
|
-
platform:
|
225
|
+
platform: platform
|
185
226
|
)
|
227
|
+
result = transporter.upload(package_path: package_path, asset_path: pkg_path, platform: platform)
|
228
|
+
else
|
229
|
+
UI.user_error!("No suitable file found for upload for platform: #{options[:platform]}")
|
186
230
|
end
|
187
231
|
|
188
|
-
transporter = transporter_for_selected_team
|
189
|
-
result = transporter.upload(package_path: package_path, asset_path: upload_ipa || upload_pkg)
|
190
|
-
|
191
232
|
unless result
|
192
233
|
transporter_errors = transporter.displayable_errors
|
193
234
|
UI.user_error!("Error uploading ipa file: \n #{transporter_errors}")
|
@@ -204,13 +245,9 @@ module Deliver
|
|
204
245
|
UI.message("Review submission cancellation has been requested")
|
205
246
|
|
206
247
|
# An app version won't get removed from review instantly
|
207
|
-
# Polling until
|
248
|
+
# Polling until there is no longer an in-progress version
|
208
249
|
loop do
|
209
|
-
|
210
|
-
if version.app_store_state == Spaceship::ConnectAPI::AppStoreVersion::AppStoreState::DEVELOPER_REJECTED
|
211
|
-
break
|
212
|
-
end
|
213
|
-
|
250
|
+
break if app.get_in_progress_review_submission(platform: platform).nil?
|
214
251
|
UI.message("Waiting for cancellation to take effect...")
|
215
252
|
sleep(15)
|
216
253
|
end
|
@@ -229,25 +266,35 @@ module Deliver
|
|
229
266
|
# If itc_provider was explicitly specified, use it.
|
230
267
|
# If there are multiple teams, infer the provider from the selected team name.
|
231
268
|
# If there are fewer than two teams, don't infer the provider.
|
232
|
-
def transporter_for_selected_team
|
269
|
+
def transporter_for_selected_team(upload: false)
|
233
270
|
# Use JWT auth
|
234
271
|
api_token = Spaceship::ConnectAPI.token
|
272
|
+
api_key = if options[:api_key].nil? && !api_token.nil?
|
273
|
+
# Load api key info if user set api_key_path, not api_key
|
274
|
+
{ key_id: api_token.key_id, issuer_id: api_token.issuer_id, key: api_token.key_raw }
|
275
|
+
elsif !options[:api_key].nil?
|
276
|
+
api_key = options[:api_key].transform_keys(&:to_sym).dup
|
277
|
+
# key is still base 64 style if api_key is loaded from option
|
278
|
+
api_key[:key] = Base64.decode64(api_key[:key]) if api_key[:is_key_content_base64]
|
279
|
+
api_key
|
280
|
+
end
|
281
|
+
|
235
282
|
unless api_token.nil?
|
236
283
|
api_token.refresh! if api_token.expired?
|
237
|
-
return FastlaneCore::ItunesTransporter.new(nil, nil, false, nil, api_token.text)
|
284
|
+
return FastlaneCore::ItunesTransporter.new(nil, nil, false, nil, api_token.text, upload: upload, api_key: api_key)
|
238
285
|
end
|
239
286
|
|
240
287
|
tunes_client = Spaceship::ConnectAPI.client.tunes_client
|
241
288
|
|
242
|
-
generic_transporter = FastlaneCore::ItunesTransporter.new(options[:username], nil, false, options[:itc_provider])
|
289
|
+
generic_transporter = FastlaneCore::ItunesTransporter.new(options[:username], nil, false, options[:itc_provider], upload: upload, api_key: api_key)
|
243
290
|
return generic_transporter unless options[:itc_provider].nil? && tunes_client.teams.count > 1
|
244
291
|
|
245
292
|
begin
|
246
|
-
team = tunes_client.teams.find { |t| t['
|
247
|
-
name = team['
|
293
|
+
team = tunes_client.teams.find { |t| t['providerId'].to_s == tunes_client.team_id }
|
294
|
+
name = team['name']
|
248
295
|
provider_id = generic_transporter.provider_ids[name]
|
249
296
|
UI.verbose("Inferred provider id #{provider_id} for team #{name}.")
|
250
|
-
return FastlaneCore::ItunesTransporter.new(options[:username], nil, false, provider_id)
|
297
|
+
return FastlaneCore::ItunesTransporter.new(options[:username], nil, false, provider_id, upload: upload, api_key: api_key)
|
251
298
|
rescue => ex
|
252
299
|
UI.verbose("Couldn't infer a provider short name for team with id #{tunes_client.team_id} automatically: #{ex}. Proceeding without provider short name.")
|
253
300
|
return generic_transporter
|
@@ -12,7 +12,9 @@ module Deliver
|
|
12
12
|
app = Deliver.cache[:app]
|
13
13
|
|
14
14
|
attributes = {}
|
15
|
-
|
15
|
+
|
16
|
+
# Check App update method to understand how to use territory_ids.
|
17
|
+
territory_ids = nil # nil won't update app's territory_ids, empty array would remove app from sale.
|
16
18
|
|
17
19
|
# As of 2020-09-14:
|
18
20
|
# Official App Store Connect does not have an endpoint to get app prices for an app
|
@@ -145,7 +145,7 @@ module Deliver
|
|
145
145
|
if duplicate
|
146
146
|
UI.message("Previous uploaded. Skipping '#{screenshot.path}'...")
|
147
147
|
else
|
148
|
-
UI.verbose("Queued
|
148
|
+
UI.verbose("Queued upload sceeenshot job for #{localization.locale} #{app_screenshot_set.screenshot_display_type} #{screenshot.path}")
|
149
149
|
worker.enqueue(UploadScreenshotJob.new(app_screenshot_set, screenshot.path))
|
150
150
|
number_of_screenshots_per_set[app_screenshot_set] += 1
|
151
151
|
end
|