fastlane 2.219.0 → 2.220.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +86 -86
  3. data/bin/console +11 -0
  4. data/bin/match_file +60 -0
  5. data/deliver/lib/deliver/download_screenshots.rb +2 -1
  6. data/deliver/lib/deliver/generate_summary.rb +1 -1
  7. data/deliver/lib/deliver/options.rb +14 -0
  8. data/deliver/lib/deliver/runner.rb +4 -4
  9. data/deliver/lib/deliver/upload_metadata.rb +43 -28
  10. data/deliver/lib/deliver/upload_screenshots.rb +15 -8
  11. data/fastlane/lib/fastlane/actions/appetize.rb +4 -0
  12. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +6 -2
  13. data/fastlane/lib/fastlane/actions/git_add.rb +17 -2
  14. data/fastlane/lib/fastlane/actions/mailgun.rb +30 -8
  15. data/fastlane/lib/fastlane/actions/onesignal.rb +14 -2
  16. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +2 -1
  17. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +4 -2
  18. data/fastlane/lib/fastlane/commands_generator.rb +9 -0
  19. data/fastlane/lib/fastlane/console.rb +24 -0
  20. data/fastlane/lib/fastlane/helper/sh_helper.rb +1 -1
  21. data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +2 -1
  22. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +2 -1
  23. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +2 -1
  24. data/fastlane/lib/fastlane/version.rb +2 -1
  25. data/fastlane/swift/Deliverfile.swift +1 -1
  26. data/fastlane/swift/DeliverfileProtocol.swift +9 -1
  27. data/fastlane/swift/Fastlane.swift +41 -8
  28. data/fastlane/swift/Gymfile.swift +1 -1
  29. data/fastlane/swift/GymfileProtocol.swift +1 -1
  30. data/fastlane/swift/LaneFileProtocol.swift +1 -1
  31. data/fastlane/swift/Matchfile.swift +1 -1
  32. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  33. data/fastlane/swift/OptionalConfigValue.swift +2 -2
  34. data/fastlane/swift/Precheckfile.swift +1 -1
  35. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  36. data/fastlane/swift/Scanfile.swift +1 -1
  37. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  38. data/fastlane/swift/Screengrabfile.swift +1 -1
  39. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  40. data/fastlane/swift/Snapshotfile.swift +1 -1
  41. data/fastlane/swift/SnapshotfileProtocol.swift +3 -3
  42. data/fastlane/swift/formatting/Brewfile.lock.json +17 -17
  43. data/fastlane_core/lib/fastlane_core/cert_checker.rb +11 -8
  44. data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
  45. data/fastlane_core/lib/fastlane_core/helper.rb +0 -15
  46. data/fastlane_core/lib/fastlane_core/print_table.rb +16 -0
  47. data/fastlane_core/lib/fastlane_core/project.rb +5 -0
  48. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +0 -4
  49. data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +1 -5
  50. data/frameit/lib/frameit/device_types.rb +4 -0
  51. data/frameit/lib/frameit/editor.rb +20 -0
  52. data/gym/lib/gym/detect_values.rb +2 -0
  53. data/gym/lib/gym/module.rb +2 -2
  54. data/match/lib/assets/READMETemplate.md +3 -5
  55. data/match/lib/match/encryption/encryption.rb +154 -0
  56. data/match/lib/match/encryption/openssl.rb +7 -38
  57. data/match/lib/match/encryption.rb +1 -0
  58. data/match/lib/match/runner.rb +45 -6
  59. data/match/lib/match/storage/git_storage.rb +4 -3
  60. data/match/lib/match/storage/interface.rb +9 -5
  61. data/pilot/lib/pilot/build_manager.rb +5 -2
  62. data/pilot/lib/pilot/manager.rb +2 -2
  63. data/pilot/lib/pilot/options.rb +1 -1
  64. data/snapshot/lib/snapshot/options.rb +2 -2
  65. data/snapshot/lib/snapshot/setup.rb +1 -1
  66. data/spaceship/lib/spaceship/connect_api/api_client.rb +1 -1
  67. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +17 -0
  68. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +44 -9
  69. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +30 -2
  70. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +2 -2
  71. data/spaceship/lib/spaceship/connect_api/models/device.rb +11 -6
  72. data/spaceship/lib/spaceship/connect_api/models/profile.rb +8 -1
  73. data/spaceship/lib/spaceship/connect_api/token.rb +2 -1
  74. data/spaceship/lib/spaceship/connect_api.rb +5 -2
  75. data/spaceship/lib/spaceship/portal/certificate.rb +2 -2
  76. data/spaceship/lib/spaceship/portal/provisioning_profile.rb +8 -1
  77. data/trainer/lib/trainer/xcresult.rb +6 -10
  78. metadata +46 -29
@@ -10,6 +10,7 @@ module Spaceship
10
10
  attr_accessor :platform
11
11
  attr_accessor :version_string
12
12
  attr_accessor :app_store_state
13
+ attr_accessor :app_version_state
13
14
  attr_accessor :store_icon
14
15
  attr_accessor :watch_store_icon
15
16
  attr_accessor :copyright
@@ -19,26 +20,53 @@ module Spaceship
19
20
  attr_accessor :is_watch_only
20
21
  attr_accessor :downloadable
21
22
  attr_accessor :created_date
23
+ attr_accessor :review_type
22
24
 
23
25
  attr_accessor :app_store_version_submission
24
26
  attr_accessor :app_store_version_phased_release
25
27
  attr_accessor :app_store_review_detail
26
28
  attr_accessor :app_store_version_localizations
27
29
 
30
+ # Deprecated in App Store Connect API specification 3.3
28
31
  module AppStoreState
29
- READY_FOR_SALE = "READY_FOR_SALE"
30
- READY_FOR_REVIEW = "READY_FOR_REVIEW"
31
- PROCESSING_FOR_APP_STORE = "PROCESSING_FOR_APP_STORE"
32
- PENDING_DEVELOPER_RELEASE = "PENDING_DEVELOPER_RELEASE"
33
- PENDING_APPLE_RELEASE = "PENDING_APPLE_RELEASE"
34
- IN_REVIEW = "IN_REVIEW"
35
- WAITING_FOR_REVIEW = "WAITING_FOR_REVIEW"
32
+ ACCEPTED = "ACCEPTED"
36
33
  DEVELOPER_REJECTED = "DEVELOPER_REJECTED"
37
34
  DEVELOPER_REMOVED_FROM_SALE = "DEVELOPER_REMOVED_FROM_SALE"
38
- REJECTED = "REJECTED"
39
- PREPARE_FOR_SUBMISSION = "PREPARE_FOR_SUBMISSION"
35
+ IN_REVIEW = "IN_REVIEW"
36
+ INVALID_BINARY = "INVALID_BINARY"
40
37
  METADATA_REJECTED = "METADATA_REJECTED"
38
+ PENDING_APPLE_RELEASE = "PENDING_APPLE_RELEASE"
39
+ PENDING_CONTRACT = "PENDING_CONTRACT"
40
+ PENDING_DEVELOPER_RELEASE = "PENDING_DEVELOPER_RELEASE"
41
+ PREORDER_READY_FOR_SALE = "PREORDER_READY_FOR_SALE"
42
+ PREPARE_FOR_SUBMISSION = "PREPARE_FOR_SUBMISSION"
43
+ PROCESSING_FOR_APP_STORE = "PROCESSING_FOR_APP_STORE"
44
+ READY_FOR_REVIEW = "READY_FOR_REVIEW"
45
+ READY_FOR_SALE = "READY_FOR_SALE"
46
+ REJECTED = "REJECTED"
47
+ REMOVED_FROM_SALE = "REMOVED_FROM_SALE"
48
+ REPLACED_WITH_NEW_VERSION = "REPLACED_WITH_NEW_VERSION"
49
+ WAITING_FOR_EXPORT_COMPLIANCE = "WAITING_FOR_EXPORT_COMPLIANCE"
50
+ WAITING_FOR_REVIEW = "WAITING_FOR_REVIEW"
51
+ NOT_APPLICABLE = "NOT_APPLICABLE"
52
+ end
53
+
54
+ module AppVersionState
55
+ ACCEPTED = "ACCEPTED"
56
+ DEVELOPER_REJECTED = "DEVELOPER_REJECTED"
57
+ IN_REVIEW = "IN_REVIEW"
41
58
  INVALID_BINARY = "INVALID_BINARY"
59
+ METADATA_REJECTED = "METADATA_REJECTED"
60
+ PENDING_APPLE_RELEASE = "PENDING_APPLE_RELEASE"
61
+ PENDING_DEVELOPER_RELEASE = "PENDING_DEVELOPER_RELEASE"
62
+ PREPARE_FOR_SUBMISSION = "PREPARE_FOR_SUBMISSION"
63
+ PROCESSING_FOR_DISTRIBUTION = "PROCESSING_FOR_DISTRIBUTION"
64
+ READY_FOR_DISTRIBUTION = "READY_FOR_DISTRIBUTION"
65
+ READY_FOR_REVIEW = "READY_FOR_REVIEW"
66
+ REJECTED = "REJECTED"
67
+ REPLACED_WITH_NEW_VERSION = "REPLACED_WITH_NEW_VERSION"
68
+ WAITING_FOR_EXPORT_COMPLIANCE = "WAITING_FOR_EXPORT_COMPLIANCE"
69
+ WAITING_FOR_REVIEW = "WAITING_FOR_REVIEW"
42
70
  end
43
71
 
44
72
  module ReleaseType
@@ -47,10 +75,16 @@ module Spaceship
47
75
  SCHEDULED = "SCHEDULED"
48
76
  end
49
77
 
78
+ module ReviewType
79
+ APP_STORE = "APP_STORE"
80
+ NOTARIZATION = "NOTARIZATION"
81
+ end
82
+
50
83
  attr_mapping({
51
84
  "platform" => "platform",
52
85
  "versionString" => "version_string",
53
86
  "appStoreState" => "app_store_state",
87
+ "appVersionState" => "app_version_state",
54
88
  "storeIcon" => "store_icon",
55
89
  "watchStoreIcon" => "watch_store_icon",
56
90
  "copyright" => "copyright",
@@ -60,6 +94,7 @@ module Spaceship
60
94
  "isWatchOnly" => "is_watch_only",
61
95
  "downloadable" => "downloadable",
62
96
  "createdDate" => "created_date",
97
+ "reviewType" => "review_type",
63
98
 
64
99
  "appStoreVersionSubmission" => "app_store_version_submission",
65
100
  "build" => "build",
@@ -8,7 +8,21 @@ module Spaceship
8
8
  attr_accessor :last_name
9
9
  attr_accessor :email
10
10
  attr_accessor :invite_type
11
- attr_accessor :invitation
11
+ attr_accessor :beta_tester_state
12
+ attr_accessor :is_deleted
13
+ attr_accessor :last_modified_date
14
+ attr_accessor :installed_cf_bundle_short_version_string
15
+ attr_accessor :installed_cf_bundle_version
16
+ attr_accessor :remove_after_date
17
+ attr_accessor :installed_device
18
+ attr_accessor :installed_os_version
19
+ attr_accessor :number_of_installed_devices
20
+ attr_accessor :latest_expiring_cf_bundle_short_version_string
21
+ attr_accessor :latest_expiring_cf_bundle_version_string
22
+ attr_accessor :installed_device_platform
23
+ attr_accessor :latest_installed_device
24
+ attr_accessor :latest_installed_os_version
25
+ attr_accessor :latest_installed_device_platform
12
26
 
13
27
  attr_accessor :apps
14
28
  attr_accessor :beta_groups
@@ -20,7 +34,21 @@ module Spaceship
20
34
  "lastName" => "last_name",
21
35
  "email" => "email",
22
36
  "inviteType" => "invite_type",
23
- "invitation" => "invitation",
37
+ "betaTesterState" => "beta_tester_state",
38
+ "isDeleted" => "is_deleted",
39
+ "lastModifiedDate" => "last_modified_date",
40
+ "installedCfBundleShortVersionString" => "installed_cf_bundle_short_version_string",
41
+ "installedCfBundleVersion" => "installed_cf_bundle_version",
42
+ "removeAfterDate" => "remove_after_date",
43
+ "installedDevice" => "installed_device",
44
+ "installedOsVersion" => "installed_os_version",
45
+ "numberOfInstalledDevices" => "number_of_installed_devices",
46
+ "latestExpiringCfBundleShortVersionString" => "latest_expiring_cf_bundle_short_version_string",
47
+ "latestExpiringCfBundleVersionString" => "latest_expiring_cf_bundle_version_string",
48
+ "installedDevicePlatform" => "installed_device_platform",
49
+ "latestInstalledDevice" => "latest_installed_device",
50
+ "latestInstalledOsVersion" => "latest_installed_os_version",
51
+ "latestInstalledDevicePlatform" => "latest_installed_device_platform",
24
52
 
25
53
  "apps" => "apps",
26
54
  "betaGroups" => "beta_groups",
@@ -55,7 +55,7 @@ module Spaceship
55
55
  Time.parse(expiration_date) > Time.now
56
56
  end
57
57
 
58
- # Create a new code signing request that can be used to
58
+ # Create a new cert signing request that can be used to
59
59
  # generate a new certificate
60
60
  # @example
61
61
  # Create a new certificate signing request
@@ -71,7 +71,7 @@ module Spaceship
71
71
  ['CN', 'PEM', OpenSSL::ASN1::UTF8STRING]
72
72
  ])
73
73
  csr.public_key = key.public_key
74
- csr.sign(key, OpenSSL::Digest::SHA1.new)
74
+ csr.sign(key, OpenSSL::Digest::SHA256.new)
75
75
  return [csr, key]
76
76
  end
77
77
 
@@ -30,9 +30,11 @@ module Spaceship
30
30
  IPOD = "IPOD"
31
31
  APPLE_TV = "APPLE_TV"
32
32
  MAC = "MAC"
33
+ APPLE_VISION_PRO = "APPLE_VISION_PRO"
33
34
 
34
- # As of 2022-11-12, this is not officially supported by App Store Connect API
35
+ # As of 2024-03-08, this is not _officially_ supported by App Store Connect API (according to API docs)—yet still used in the API responses
35
36
  APPLE_SILICON_MAC = "APPLE_SILICON_MAC"
37
+ INTEL_MAC = "INTEL_MAC"
36
38
  end
37
39
 
38
40
  module Status
@@ -68,7 +70,7 @@ module Spaceship
68
70
  device_platform = case platform
69
71
  when :osx, :macos, :mac
70
72
  Spaceship::ConnectAPI::Platform::MAC_OS
71
- when :ios
73
+ when :ios, :tvos, :xros, :visionos
72
74
  Spaceship::ConnectAPI::Platform::IOS
73
75
  when :catalyst
74
76
  Spaceship::ConnectAPI::Platform::MAC_OS
@@ -86,7 +88,8 @@ module Spaceship
86
88
  Spaceship::ConnectAPI::Device::DeviceClass::IPAD,
87
89
  Spaceship::ConnectAPI::Device::DeviceClass::IPHONE,
88
90
  Spaceship::ConnectAPI::Device::DeviceClass::IPOD,
89
- Spaceship::ConnectAPI::Device::DeviceClass::APPLE_WATCH
91
+ Spaceship::ConnectAPI::Device::DeviceClass::APPLE_WATCH,
92
+ Spaceship::ConnectAPI::Device::DeviceClass::APPLE_VISION_PRO
90
93
  ]
91
94
  when :tvos
92
95
  [
@@ -94,7 +97,9 @@ module Spaceship
94
97
  ]
95
98
  when :macos, :catalyst
96
99
  [
97
- Spaceship::ConnectAPI::Device::DeviceClass::MAC
100
+ Spaceship::ConnectAPI::Device::DeviceClass::MAC,
101
+ Spaceship::ConnectAPI::Device::DeviceClass::APPLE_SILICON_MAC,
102
+ Spaceship::ConnectAPI::Device::DeviceClass::INTEL_MAC
98
103
  ]
99
104
  else
100
105
  []
@@ -106,9 +111,9 @@ module Spaceship
106
111
  end
107
112
 
108
113
  filter = {
109
- status: Spaceship::ConnectAPI::Device::Status::ENABLED,
110
- platform: device_platforms.uniq.join(',')
114
+ status: Spaceship::ConnectAPI::Device::Status::ENABLED
111
115
  }
116
+ filter[:platform] = device_platforms.uniq.join(',') unless device_platforms.empty?
112
117
 
113
118
  devices = Spaceship::ConnectAPI::Device.all(
114
119
  client: client,
@@ -64,7 +64,14 @@ module Spaceship
64
64
  end
65
65
 
66
66
  def valid?
67
- return profile_state == ProfileState::ACTIVE
67
+ # Provisioning profiles are not invalidated automatically on the dev portal when the certificate expires.
68
+ # They become Invalid only when opened directly in the portal 🤷.
69
+ # We need to do an extra check on the expiration date to ensure the profile is valid.
70
+ expired = Time.now.utc > Time.parse(self.expiration_date)
71
+
72
+ is_valid = profile_state == ProfileState::ACTIVE && !expired
73
+
74
+ return is_valid
68
75
  end
69
76
 
70
77
  #
@@ -100,7 +100,8 @@ module Spaceship
100
100
 
101
101
  payload = {
102
102
  iss: issuer_id,
103
- iat: now.to_i,
103
+ # Reduce the issued-at-time in case our time is slighly ahead of Apple's servers, which causes the token to be rejected.
104
+ iat: now.to_i - 60,
104
105
  exp: @expiration.to_i,
105
106
  aud: 'appstoreconnect-v1'
106
107
  }
@@ -86,9 +86,10 @@ module Spaceship
86
86
  IOS = "IOS"
87
87
  MAC_OS = "MAC_OS"
88
88
  TV_OS = "TV_OS"
89
+ VISION_OS = "VISION_OS"
89
90
  WATCH_OS = "WATCH_OS"
90
91
 
91
- ALL = [IOS, MAC_OS, TV_OS, WATCH_OS]
92
+ ALL = [IOS, MAC_OS, TV_OS, VISION_OS, WATCH_OS]
92
93
 
93
94
  def self.map(platform)
94
95
  return platform if ALL.include?(platform)
@@ -101,6 +102,8 @@ module Spaceship
101
102
  return Spaceship::ConnectAPI::Platform::MAC_OS
102
103
  when :ios
103
104
  return Spaceship::ConnectAPI::Platform::IOS
105
+ when :xros, :visionos
106
+ return Spaceship::ConnectAPI::Platform::VISION_OS
104
107
  else
105
108
  raise "Cannot find a matching platform for '#{platform}' - valid values are #{ALL.join(', ')}"
106
109
  end
@@ -123,7 +126,7 @@ module Spaceship
123
126
  case platform.to_sym
124
127
  when :osx, :macos, :mac
125
128
  return Spaceship::ConnectAPI::Platform::MAC_OS
126
- when :ios
129
+ when :ios, :xros, :visionos
127
130
  return Spaceship::ConnectAPI::Platform::IOS
128
131
  else
129
132
  raise "Cannot find a matching platform for '#{platform}' - valid values are #{ALL.join(', ')}"
@@ -205,7 +205,7 @@ module Spaceship
205
205
 
206
206
  # Class methods
207
207
  class << self
208
- # Create a new code signing request that can be used to
208
+ # Create a new cert signing request that can be used to
209
209
  # generate a new certificate
210
210
  # @example
211
211
  # Create a new certificate signing request
@@ -221,7 +221,7 @@ module Spaceship
221
221
  ['CN', 'PEM', OpenSSL::ASN1::UTF8STRING]
222
222
  ])
223
223
  csr.public_key = key.public_key
224
- csr.sign(key, OpenSSL::Digest::SHA1.new)
224
+ csr.sign(key, OpenSSL::Digest::SHA256.new)
225
225
  return [csr, key]
226
226
  end
227
227
 
@@ -484,7 +484,14 @@ module Spaceship
484
484
  # @return (Bool) Is the current provisioning profile valid?
485
485
  # To also verify the certificate call certificate_valid?
486
486
  def valid?
487
- return status == 'Active'
487
+ # Provisioning profiles are not invalidated automatically on the dev portal when the certificate expires.
488
+ # They become Invalid only when opened directly in the portal 🤷.
489
+ # We need to do an extra check on the expiration date to ensure the profile is valid.
490
+ expired = Time.now.utc > self.expires
491
+
492
+ is_valid = status == 'Active' && !expired
493
+
494
+ return is_valid
488
495
  end
489
496
 
490
497
  # @return (Bool) Is this profile managed by Xcode?
@@ -173,6 +173,8 @@ module Trainer
173
173
  end
174
174
 
175
175
  def find_failure(failures)
176
+ sanitizer = proc { |name| name.gsub(/\W/, "_") }
177
+ sanitized_identifier = sanitizer.call(self.identifier)
176
178
  if self.test_status == "Failure"
177
179
  # Tries to match failure on test case name
178
180
  # Example TestFailureIssueSummary:
@@ -184,16 +186,10 @@ module Trainer
184
186
  # or identifier: "TestThisDude/testFailureJosh2" (when Objective-C)
185
187
 
186
188
  found_failure = failures.find do |failure|
187
- # Clean test_case_name to match identifier format
188
- # Sanitize for Swift by replacing "." for "/"
189
- # Sanitize for Objective-C by removing "-", "[", "]", and replacing " " for ?/
190
- sanitized_test_case_name = failure.test_case_name
191
- .tr(".", "/")
192
- .tr("-", "")
193
- .tr("[", "")
194
- .tr("]", "")
195
- .tr(" ", "/")
196
- self.identifier == sanitized_test_case_name
189
+ # Sanitize both test case name and identifier in a consistent fashion, then replace all non-word
190
+ # chars with underscore, and compare them
191
+ sanitized_test_case_name = sanitizer.call(failure.test_case_name)
192
+ sanitized_identifier == sanitized_test_case_name
197
193
  end
198
194
  return found_failure
199
195
  else
metadata CHANGED
@@ -1,39 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.219.0
4
+ version: 2.220.0
5
5
  platform: ruby
6
6
  authors:
7
- - Matthew Ellis
8
- - Jimmy Dee
9
- - Stefan Natchev
10
- - Roger Oba
11
- - Kohki Miki
12
- - Fumiya Nakamura
13
- - Josh Holtz
7
+ - Felix Krause
14
8
  - Iulian Onofrei
15
- - Andrew McBurney
16
- - Maksym Grebenets
9
+ - Manish Rathi
10
+ - Danielle Tomlinson
11
+ - Joshua Liebowitz
12
+ - Satoshi Namai
17
13
  - Manu Wallner
14
+ - Luka Mirosevic
18
15
  - Jérôme Lacoste
19
- - Felix Krause
16
+ - Stefan Natchev
20
17
  - Łukasz Grabowski
18
+ - Roger Oba
19
+ - Olivier Halligon
20
+ - Daniel Jankowski
21
+ - Andrew McBurney
22
+ - Jimmy Dee
21
23
  - Jan Piotrowski
22
- - Max Ott
24
+ - Maksym Grebenets
23
25
  - Helmut Januschka
24
- - Joshua Liebowitz
25
- - Danielle Tomlinson
26
- - Daniel Jankowski
27
- - Olivier Halligon
28
- - Satoshi Namai
29
- - Luka Mirosevic
30
- - Jorge Revuelta H
31
- - Manish Rathi
32
26
  - Aaron Brager
27
+ - Kohki Miki
28
+ - Josh Holtz
29
+ - Max Ott
30
+ - Matthew Ellis
31
+ - Jorge Revuelta H
32
+ - Fumiya Nakamura
33
33
  autorequire:
34
34
  bindir: bin
35
35
  cert_chain: []
36
- date: 2024-01-04 00:00:00.000000000 Z
36
+ date: 2024-04-04 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: addressable
@@ -147,16 +147,16 @@ dependencies:
147
147
  name: colored
148
148
  requirement: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0'
152
+ version: '1.2'
153
153
  type: :runtime
154
154
  prerelease: false
155
155
  version_requirements: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">="
157
+ - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '0'
159
+ version: '1.2'
160
160
  - !ruby/object:Gem::Dependency
161
161
  name: commander
162
162
  requirement: !ruby/object:Gem::Requirement
@@ -498,6 +498,9 @@ dependencies:
498
498
  - - ">="
499
499
  - !ruby/object:Gem::Version
500
500
  version: 0.1.1
501
+ - - "<"
502
+ - !ruby/object:Gem::Version
503
+ version: 1.0.0
501
504
  type: :runtime
502
505
  prerelease: false
503
506
  version_requirements: !ruby/object:Gem::Requirement
@@ -505,6 +508,9 @@ dependencies:
505
508
  - - ">="
506
509
  - !ruby/object:Gem::Version
507
510
  version: 0.1.1
511
+ - - "<"
512
+ - !ruby/object:Gem::Version
513
+ version: 1.0.0
508
514
  - !ruby/object:Gem::Dependency
509
515
  name: plist
510
516
  requirement: !ruby/object:Gem::Requirement
@@ -551,14 +557,14 @@ dependencies:
551
557
  requirements:
552
558
  - - '='
553
559
  - !ruby/object:Gem::Version
554
- version: 0.1.3
560
+ version: 0.1.5
555
561
  type: :runtime
556
562
  prerelease: false
557
563
  version_requirements: !ruby/object:Gem::Requirement
558
564
  requirements:
559
565
  - - '='
560
566
  - !ruby/object:Gem::Version
561
- version: 0.1.3
567
+ version: 0.1.5
562
568
  - !ruby/object:Gem::Dependency
563
569
  name: simctl
564
570
  requirement: !ruby/object:Gem::Requirement
@@ -688,6 +694,9 @@ dependencies:
688
694
  - - ">="
689
695
  - !ruby/object:Gem::Version
690
696
  version: 0.0.3
697
+ - - "<"
698
+ - !ruby/object:Gem::Version
699
+ version: 2.0.0
691
700
  type: :runtime
692
701
  prerelease: false
693
702
  version_requirements: !ruby/object:Gem::Requirement
@@ -695,6 +704,9 @@ dependencies:
695
704
  - - ">="
696
705
  - !ruby/object:Gem::Version
697
706
  version: 0.0.3
707
+ - - "<"
708
+ - !ruby/object:Gem::Version
709
+ version: 2.0.0
698
710
  - !ruby/object:Gem::Dependency
699
711
  name: xcpretty
700
712
  requirement: !ruby/object:Gem::Requirement
@@ -715,7 +727,9 @@ email:
715
727
  - fastlane@krausefx.com
716
728
  executables:
717
729
  - bin-proxy
730
+ - console
718
731
  - fastlane
732
+ - match_file
719
733
  extensions: []
720
734
  extra_rdoc_files: []
721
735
  files:
@@ -723,7 +737,9 @@ files:
723
737
  - LICENSE
724
738
  - README.md
725
739
  - bin/bin-proxy
740
+ - bin/console
726
741
  - bin/fastlane
742
+ - bin/match_file
727
743
  - cert/README.md
728
744
  - cert/lib/cert.rb
729
745
  - cert/lib/cert/commands_generator.rb
@@ -1038,6 +1054,7 @@ files:
1038
1054
  - fastlane/lib/fastlane/command_line_handler.rb
1039
1055
  - fastlane/lib/fastlane/commands_generator.rb
1040
1056
  - fastlane/lib/fastlane/configuration_helper.rb
1057
+ - fastlane/lib/fastlane/console.rb
1041
1058
  - fastlane/lib/fastlane/core_ext/bundler_monkey_patch.rb
1042
1059
  - fastlane/lib/fastlane/documentation/actions_list.rb
1043
1060
  - fastlane/lib/fastlane/documentation/docs_generator.rb
@@ -1270,6 +1287,7 @@ files:
1270
1287
  - match/lib/match/change_password.rb
1271
1288
  - match/lib/match/commands_generator.rb
1272
1289
  - match/lib/match/encryption.rb
1290
+ - match/lib/match/encryption/encryption.rb
1273
1291
  - match/lib/match/encryption/interface.rb
1274
1292
  - match/lib/match/encryption/openssl.rb
1275
1293
  - match/lib/match/generator.rb
@@ -1678,6 +1696,5 @@ requirements: []
1678
1696
  rubygems_version: 3.2.33
1679
1697
  signing_key:
1680
1698
  specification_version: 4
1681
- summary: The easiest way to automate beta deployments and releases for your iOS and
1682
- Android apps
1699
+ summary: The easiest way to build and release mobile apps.
1683
1700
  test_files: []