fastlane 2.188.0 → 2.192.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +88 -88
- data/deliver/lib/deliver/app_screenshot.rb +2 -1
- data/deliver/lib/deliver/app_screenshot_iterator.rb +2 -2
- data/deliver/lib/deliver/loader.rb +1 -1
- data/deliver/lib/deliver/options.rb +6 -0
- data/deliver/lib/deliver/runner.rb +9 -1
- data/deliver/lib/deliver/screenshot_comparable.rb +62 -0
- data/deliver/lib/deliver/sync_screenshots.rb +200 -0
- data/fastlane/lib/assets/completions/completion.bash +4 -1
- data/fastlane/lib/assets/completions/completion.zsh +6 -5
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +1 -1
- data/fastlane/lib/fastlane/actions/bundle_install.rb +13 -1
- data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +25 -1
- data/fastlane/lib/fastlane/actions/create_xcframework.rb +97 -17
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +2 -2
- data/fastlane/lib/fastlane/actions/notarize.rb +77 -1
- data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
- data/fastlane/lib/fastlane/actions/zip.rb +86 -21
- data/fastlane/lib/fastlane/features.rb +3 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +5 -1
- data/fastlane/swift/Fastlane.swift +120 -20
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +5 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +9 -9
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +11 -4
- data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +1 -0
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +41 -0
- data/pilot/lib/pilot/build_manager.rb +0 -1
- data/precheck/lib/precheck/module.rb +2 -0
- data/precheck/lib/precheck/options.rb +3 -3
- data/produce/lib/produce/commands_generator.rb +28 -0
- data/produce/lib/produce/service.rb +16 -1
- data/scan/lib/scan/detect_values.rb +22 -13
- data/scan/lib/scan/module.rb +1 -0
- data/scan/lib/scan/options.rb +12 -1
- data/scan/lib/scan/test_command_generator.rb +29 -6
- data/scan/lib/scan/xcpretty_reporter_options_generator.rb +1 -1
- data/sigh/lib/sigh/options.rb +2 -1
- data/spaceship/lib/spaceship/client.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/api_client.rb +15 -1
- data/spaceship/lib/spaceship/connect_api/models/app.rb +9 -1
- data/spaceship/lib/spaceship/connect_api/models/capabilities.rb +27 -0
- data/spaceship/lib/spaceship/connect_api/models/user.rb +17 -3
- data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +26 -5
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/testflight/.testflight.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/testflight/client.rb +3 -0
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +46 -5
- data/spaceship/lib/spaceship/connect_api/token.rb +4 -1
- data/spaceship/lib/spaceship/connect_api/tunes/client.rb +3 -0
- data/spaceship/lib/spaceship/connect_api/users/client.rb +3 -0
- data/spaceship/lib/spaceship/connect_api/users/users.rb +58 -3
- data/spaceship/lib/spaceship/connect_api.rb +1 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +3 -0
- data/supply/lib/supply/client.rb +40 -1
- data/supply/lib/supply/options.rb +12 -0
- data/supply/lib/supply/uploader.rb +1 -1
- metadata +41 -25
- data/spaceship/lib/spaceship/connect_api/models/.bundle_id.rb.swp +0 -0
- data/spaceship/lib/spaceship/portal/.app.rb.swp +0 -0
@@ -13,6 +13,7 @@ module Spaceship
|
|
13
13
|
class Token
|
14
14
|
# maximum expiration supported by AppStore (20 minutes)
|
15
15
|
MAX_TOKEN_DURATION = 1200
|
16
|
+
DEFAULT_TOKEN_DURATION = 500
|
16
17
|
|
17
18
|
attr_reader :key_id
|
18
19
|
attr_reader :issuer_id
|
@@ -20,6 +21,8 @@ module Spaceship
|
|
20
21
|
attr_reader :duration
|
21
22
|
attr_reader :expiration
|
22
23
|
|
24
|
+
attr_reader :key_raw
|
25
|
+
|
23
26
|
# Temporary attribute not needed to create the JWT text
|
24
27
|
# There is no way to determine if the team associated with this
|
25
28
|
# key is for App Store or Enterprise so this is the temporary workaround
|
@@ -80,7 +83,7 @@ module Spaceship
|
|
80
83
|
@duration = duration
|
81
84
|
@in_house = in_house
|
82
85
|
|
83
|
-
@duration ||=
|
86
|
+
@duration ||= DEFAULT_TOKEN_DURATION
|
84
87
|
@duration = @duration.to_i if @duration
|
85
88
|
|
86
89
|
refresh!
|
@@ -11,6 +11,9 @@ module Spaceship
|
|
11
11
|
|
12
12
|
super(cookie: cookie, current_team_id: current_team_id, token: token, another_client: another_client)
|
13
13
|
|
14
|
+
# Used by most iris requests starting in July 2021
|
15
|
+
@additional_headers = { 'x-csrf-itc': '[asc-ui]' } if another_client
|
16
|
+
|
14
17
|
self.extend(Spaceship::ConnectAPI::Tunes::API)
|
15
18
|
self.tunes_request_client = self
|
16
19
|
end
|
@@ -11,6 +11,9 @@ module Spaceship
|
|
11
11
|
|
12
12
|
super(cookie: cookie, current_team_id: current_team_id, token: token, another_client: another_client)
|
13
13
|
|
14
|
+
# Used by most iris requests starting in July 2021
|
15
|
+
@additional_headers = { 'x-csrf-itc': '[asc-ui]' } if another_client
|
16
|
+
|
14
17
|
self.extend(Spaceship::ConnectAPI::Users::API)
|
15
18
|
self.users_request_client = self
|
16
19
|
end
|
@@ -28,8 +28,13 @@ module Spaceship
|
|
28
28
|
users_request_client.delete("users/#{user_id}")
|
29
29
|
end
|
30
30
|
|
31
|
-
#
|
31
|
+
# Add app permissions for user
|
32
|
+
# @deprecated Use {#post_user_visible_apps} instead.
|
32
33
|
def add_user_visible_apps(user_id: nil, app_ids: nil)
|
34
|
+
post_user_visible_apps(user_id: user_id, app_ids: app_ids)
|
35
|
+
end
|
36
|
+
|
37
|
+
def post_user_visible_apps(user_id: nil, app_ids: nil)
|
33
38
|
body = {
|
34
39
|
data: app_ids.map do |app_id|
|
35
40
|
{
|
@@ -42,18 +47,52 @@ module Spaceship
|
|
42
47
|
users_request_client.post("users/#{user_id}/relationships/visibleApps", body)
|
43
48
|
end
|
44
49
|
|
50
|
+
# Replace app permissions for user
|
51
|
+
def patch_user_visible_apps(user_id: nil, app_ids: nil)
|
52
|
+
body = {
|
53
|
+
data: app_ids.map do |app_id|
|
54
|
+
{
|
55
|
+
type: "apps",
|
56
|
+
id: app_id
|
57
|
+
}
|
58
|
+
end
|
59
|
+
}
|
60
|
+
|
61
|
+
users_request_client.patch("users/#{user_id}/relationships/visibleApps", body)
|
62
|
+
end
|
63
|
+
|
64
|
+
# Remove app permissions for user
|
65
|
+
def delete_user_visible_apps(user_id: nil, app_ids: nil)
|
66
|
+
body = {
|
67
|
+
data: app_ids.map do |app_id|
|
68
|
+
{
|
69
|
+
type: "apps",
|
70
|
+
id: app_id
|
71
|
+
}
|
72
|
+
end
|
73
|
+
}
|
74
|
+
params = nil
|
75
|
+
users_request_client.delete("users/#{user_id}/relationships/visibleApps", params, body)
|
76
|
+
end
|
77
|
+
|
78
|
+
# Get app permissions for user
|
79
|
+
def get_user_visible_apps(user_id: id, limit: nil)
|
80
|
+
params = users_request_client.build_params(filter: {}, includes: nil, limit: limit, sort: nil)
|
81
|
+
users_request_client.get("users/#{user_id}/visibleApps", params)
|
82
|
+
end
|
83
|
+
|
45
84
|
#
|
46
85
|
# invitations (invited users)
|
47
86
|
#
|
48
87
|
|
49
|
-
# Get all invited users
|
88
|
+
# Get all invited users
|
50
89
|
def get_user_invitations(filter: {}, includes: nil, limit: nil, sort: nil)
|
51
90
|
params = users_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
|
52
91
|
users_request_client.get("userInvitations", params)
|
53
92
|
end
|
54
93
|
|
55
94
|
# Invite new users to App Store Connect
|
56
|
-
def post_user_invitation(email: nil, first_name: nil, last_name: nil, roles: [], provisioning_allowed: nil, all_apps_visible: nil)
|
95
|
+
def post_user_invitation(email: nil, first_name: nil, last_name: nil, roles: [], provisioning_allowed: nil, all_apps_visible: nil, visible_app_ids: [])
|
57
96
|
body = {
|
58
97
|
data: {
|
59
98
|
type: "userInvitations",
|
@@ -64,6 +103,16 @@ module Spaceship
|
|
64
103
|
roles: roles,
|
65
104
|
provisioningAllowed: provisioning_allowed,
|
66
105
|
allAppsVisible: all_apps_visible
|
106
|
+
},
|
107
|
+
relationships: {
|
108
|
+
visibleApps: {
|
109
|
+
data: visible_app_ids.map do |id|
|
110
|
+
{
|
111
|
+
id: id,
|
112
|
+
type: "apps"
|
113
|
+
}
|
114
|
+
end
|
115
|
+
}
|
67
116
|
}
|
68
117
|
}
|
69
118
|
}
|
@@ -74,6 +123,12 @@ module Spaceship
|
|
74
123
|
def delete_user_invitation(user_invitation_id: nil)
|
75
124
|
users_request_client.delete("userInvitations/#{user_invitation_id}")
|
76
125
|
end
|
126
|
+
|
127
|
+
# Get all app permissions for invited user
|
128
|
+
def get_user_invitation_visible_apps(user_invitation_id: id, limit: nil)
|
129
|
+
params = users_request_client.build_params(filter: {}, includes: nil, limit: limit, sort: nil)
|
130
|
+
users_request_client.get("userInvitations/#{user_invitation_id}/visibleApps", params)
|
131
|
+
end
|
77
132
|
end
|
78
133
|
end
|
79
134
|
end
|
@@ -10,6 +10,7 @@ require 'spaceship/connect_api/tunes/tunes'
|
|
10
10
|
|
11
11
|
require 'spaceship/connect_api/models/bundle_id_capability'
|
12
12
|
require 'spaceship/connect_api/models/bundle_id'
|
13
|
+
require 'spaceship/connect_api/models/capabilities'
|
13
14
|
require 'spaceship/connect_api/models/certificate'
|
14
15
|
require 'spaceship/connect_api/models/device'
|
15
16
|
require 'spaceship/connect_api/models/profile'
|
data/supply/lib/supply/client.rb
CHANGED
@@ -162,7 +162,46 @@ module Supply
|
|
162
162
|
def commit_current_edit!
|
163
163
|
ensure_active_edit!
|
164
164
|
|
165
|
-
call_google_api
|
165
|
+
call_google_api do
|
166
|
+
begin
|
167
|
+
client.commit_edit(
|
168
|
+
current_package_name,
|
169
|
+
current_edit.id,
|
170
|
+
changes_not_sent_for_review: Supply.config[:changes_not_sent_for_review]
|
171
|
+
)
|
172
|
+
rescue Google::Apis::ClientError => e
|
173
|
+
unless Supply.config[:rescue_changes_not_sent_for_review]
|
174
|
+
raise
|
175
|
+
end
|
176
|
+
|
177
|
+
error = begin
|
178
|
+
JSON.parse(e.body)
|
179
|
+
rescue
|
180
|
+
nil
|
181
|
+
end
|
182
|
+
|
183
|
+
if error
|
184
|
+
message = error["error"] && error["error"]["message"]
|
185
|
+
else
|
186
|
+
message = e.body
|
187
|
+
end
|
188
|
+
|
189
|
+
if message.include?("The query parameter changesNotSentForReview must not be set")
|
190
|
+
client.commit_edit(
|
191
|
+
current_package_name,
|
192
|
+
current_edit.id
|
193
|
+
)
|
194
|
+
elsif message.include?("Please set the query parameter changesNotSentForReview to true")
|
195
|
+
client.commit_edit(
|
196
|
+
current_package_name,
|
197
|
+
current_edit.id,
|
198
|
+
changes_not_sent_for_review: true
|
199
|
+
)
|
200
|
+
else
|
201
|
+
raise
|
202
|
+
end
|
203
|
+
end
|
204
|
+
end
|
166
205
|
|
167
206
|
self.current_edit = nil
|
168
207
|
self.current_package_name = nil
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# rubocop:disable Metrics/ClassLength
|
2
|
+
|
1
3
|
require 'fastlane_core/configuration/config_item'
|
2
4
|
require 'credentials_manager/appfile_config'
|
3
5
|
|
@@ -281,6 +283,16 @@ module Supply
|
|
281
283
|
UI.user_error!("Version code '#{version_code}' is not an integer") if version_code == 0
|
282
284
|
end
|
283
285
|
end),
|
286
|
+
FastlaneCore::ConfigItem.new(key: :changes_not_sent_for_review,
|
287
|
+
env_name: "SUPPLY_CHANGES_NOT_SENT_FOR_REVIEW",
|
288
|
+
description: "Indicates that the changes in this edit will not be reviewed until they are explicitly sent for review from the Google Play Console UI",
|
289
|
+
type: Boolean,
|
290
|
+
default_value: false),
|
291
|
+
FastlaneCore::ConfigItem.new(key: :rescue_changes_not_sent_for_review,
|
292
|
+
env_name: "SUPPLY_RESCUE_CHANGES_NOT_SENT_FOR_REVIEW",
|
293
|
+
description: "Catches changes_not_sent_for_review errors when an edit is committed and retries with the configuration that the error message recommended",
|
294
|
+
type: Boolean,
|
295
|
+
default_value: true),
|
284
296
|
FastlaneCore::ConfigItem.new(key: :in_app_update_priority,
|
285
297
|
env_name: "SUPPLY_IN_APP_UPDATE_PRIORITY",
|
286
298
|
optional: true,
|
@@ -302,7 +302,7 @@ module Supply
|
|
302
302
|
|
303
303
|
def upload_mapping(apk_version_codes)
|
304
304
|
mapping_paths = [Supply.config[:mapping]] unless (mapping_paths = Supply.config[:mapping_paths])
|
305
|
-
mapping_paths.
|
305
|
+
mapping_paths.product(apk_version_codes).each do |mapping_path, version_code|
|
306
306
|
if mapping_path
|
307
307
|
UI.message("Preparing mapping at path '#{mapping_path}', version code #{version_code} for upload...")
|
308
308
|
client.upload_mapping(mapping_path, version_code)
|
metadata
CHANGED
@@ -1,38 +1,38 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.192.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Jan Piotrowski
|
8
|
+
- Manu Wallner
|
9
|
+
- Jérôme Lacoste
|
10
|
+
- Helmut Januschka
|
11
|
+
- Daniel Jankowski
|
12
|
+
- Satoshi Namai
|
8
13
|
- Joshua Liebowitz
|
9
|
-
-
|
10
|
-
- Felix Krause
|
14
|
+
- Roger Oba
|
11
15
|
- Josh Holtz
|
12
|
-
- Andrew McBurney
|
13
|
-
- Maksym Grebenets
|
14
16
|
- Matthew Ellis
|
15
|
-
-
|
17
|
+
- Andrew McBurney
|
18
|
+
- Aaron Brager
|
19
|
+
- Stefan Natchev
|
16
20
|
- Manish Rathi
|
17
|
-
-
|
21
|
+
- Felix Krause
|
22
|
+
- Jorge Revuelta H
|
23
|
+
- Max Ott
|
24
|
+
- Maksym Grebenets
|
25
|
+
- Iulian Onofrei
|
18
26
|
- Olivier Halligon
|
19
|
-
- Stefan Natchev
|
20
|
-
- Satoshi Namai
|
21
|
-
- Fumiya Nakamura
|
22
|
-
- Luka Mirosevic
|
23
|
-
- Aaron Brager
|
24
27
|
- Jimmy Dee
|
25
|
-
- Manu Wallner
|
26
28
|
- Danielle Tomlinson
|
27
|
-
-
|
28
|
-
-
|
29
|
-
-
|
30
|
-
- Iulian Onofrei
|
31
|
-
- Jérôme Lacoste
|
29
|
+
- Kohki Miki
|
30
|
+
- Fumiya Nakamura
|
31
|
+
- Luka Mirosevic
|
32
32
|
autorequire:
|
33
33
|
bindir: bin
|
34
34
|
cert_chain: []
|
35
|
-
date: 2021-
|
35
|
+
date: 2021-08-24 00:00:00.000000000 Z
|
36
36
|
dependencies:
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: xcodeproj
|
@@ -196,6 +196,20 @@ dependencies:
|
|
196
196
|
- - "~>"
|
197
197
|
- !ruby/object:Gem::Version
|
198
198
|
version: 1.0.0
|
199
|
+
- !ruby/object:Gem::Dependency
|
200
|
+
name: optparse
|
201
|
+
requirement: !ruby/object:Gem::Requirement
|
202
|
+
requirements:
|
203
|
+
- - "~>"
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: 0.1.1
|
206
|
+
type: :runtime
|
207
|
+
prerelease: false
|
208
|
+
version_requirements: !ruby/object:Gem::Requirement
|
209
|
+
requirements:
|
210
|
+
- - "~>"
|
211
|
+
- !ruby/object:Gem::Version
|
212
|
+
version: 0.1.1
|
199
213
|
- !ruby/object:Gem::Dependency
|
200
214
|
name: tty-screen
|
201
215
|
requirement: !ruby/object:Gem::Requirement
|
@@ -604,14 +618,14 @@ dependencies:
|
|
604
618
|
requirements:
|
605
619
|
- - "~>"
|
606
620
|
- !ruby/object:Gem::Version
|
607
|
-
version: '0.
|
621
|
+
version: '0.3'
|
608
622
|
type: :runtime
|
609
623
|
prerelease: false
|
610
624
|
version_requirements: !ruby/object:Gem::Requirement
|
611
625
|
requirements:
|
612
626
|
- - "~>"
|
613
627
|
- !ruby/object:Gem::Version
|
614
|
-
version: '0.
|
628
|
+
version: '0.3'
|
615
629
|
- !ruby/object:Gem::Dependency
|
616
630
|
name: google-cloud-storage
|
617
631
|
requirement: !ruby/object:Gem::Requirement
|
@@ -971,8 +985,10 @@ files:
|
|
971
985
|
- deliver/lib/deliver/module.rb
|
972
986
|
- deliver/lib/deliver/options.rb
|
973
987
|
- deliver/lib/deliver/runner.rb
|
988
|
+
- deliver/lib/deliver/screenshot_comparable.rb
|
974
989
|
- deliver/lib/deliver/setup.rb
|
975
990
|
- deliver/lib/deliver/submit_for_review.rb
|
991
|
+
- deliver/lib/deliver/sync_screenshots.rb
|
976
992
|
- deliver/lib/deliver/upload_metadata.rb
|
977
993
|
- deliver/lib/deliver/upload_price_tier.rb
|
978
994
|
- deliver/lib/deliver/upload_screenshots.rb
|
@@ -1640,7 +1656,6 @@ files:
|
|
1640
1656
|
- spaceship/lib/spaceship/connect_api/client.rb
|
1641
1657
|
- spaceship/lib/spaceship/connect_api/file_uploader.rb
|
1642
1658
|
- spaceship/lib/spaceship/connect_api/model.rb
|
1643
|
-
- spaceship/lib/spaceship/connect_api/models/.bundle_id.rb.swp
|
1644
1659
|
- spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
|
1645
1660
|
- spaceship/lib/spaceship/connect_api/models/app.rb
|
1646
1661
|
- spaceship/lib/spaceship/connect_api/models/app_category.rb
|
@@ -1681,6 +1696,7 @@ files:
|
|
1681
1696
|
- spaceship/lib/spaceship/connect_api/models/build_delivery.rb
|
1682
1697
|
- spaceship/lib/spaceship/connect_api/models/bundle_id.rb
|
1683
1698
|
- spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb
|
1699
|
+
- spaceship/lib/spaceship/connect_api/models/capabilities.rb
|
1684
1700
|
- spaceship/lib/spaceship/connect_api/models/certificate.rb
|
1685
1701
|
- spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb
|
1686
1702
|
- spaceship/lib/spaceship/connect_api/models/custom_app_user.rb
|
@@ -1697,6 +1713,7 @@ files:
|
|
1697
1713
|
- spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb
|
1698
1714
|
- spaceship/lib/spaceship/connect_api/response.rb
|
1699
1715
|
- spaceship/lib/spaceship/connect_api/spaceship.rb
|
1716
|
+
- spaceship/lib/spaceship/connect_api/testflight/.testflight.rb.swp
|
1700
1717
|
- spaceship/lib/spaceship/connect_api/testflight/client.rb
|
1701
1718
|
- spaceship/lib/spaceship/connect_api/testflight/testflight.rb
|
1702
1719
|
- spaceship/lib/spaceship/connect_api/token.rb
|
@@ -1716,7 +1733,6 @@ files:
|
|
1716
1733
|
- spaceship/lib/spaceship/launcher.rb
|
1717
1734
|
- spaceship/lib/spaceship/module.rb
|
1718
1735
|
- spaceship/lib/spaceship/playground.rb
|
1719
|
-
- spaceship/lib/spaceship/portal/.app.rb.swp
|
1720
1736
|
- spaceship/lib/spaceship/portal/app.rb
|
1721
1737
|
- spaceship/lib/spaceship/portal/app_group.rb
|
1722
1738
|
- spaceship/lib/spaceship/portal/app_service.rb
|
@@ -1858,7 +1874,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1858
1874
|
- !ruby/object:Gem::Version
|
1859
1875
|
version: '0'
|
1860
1876
|
requirements: []
|
1861
|
-
rubygems_version: 3.1.
|
1877
|
+
rubygems_version: 3.1.4
|
1862
1878
|
signing_key:
|
1863
1879
|
specification_version: 4
|
1864
1880
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|
Binary file
|
Binary file
|