The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build TIMEncryptedStorage, reference 2.2.1 (466d9a), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 06:38:46 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/trifork/TIMEncryptedStorage-iOS.git
Reference: 2.2.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/trifork/TIMEncryptedStorage-iOS
 * tag               2.2.1      -> FETCH_HEAD
HEAD is now at 466d9a9 Made constructor on TIMKeyModel public (#8)
Cloned https://github.com/trifork/TIMEncryptedStorage-iOS.git
Revision (git rev-parse @):
466d9a9f0eba1555b0a27034f5a3b5aee837c404
SUCCESS checkout https://github.com/trifork/TIMEncryptedStorage-iOS.git at 2.2.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "timencryptedstorage-ios",
      "name": "TIMEncryptedStorage",
      "url": "https://github.com/trifork/TIMEncryptedStorage-iOS.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/TIMEncryptedStorage-iOS",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/trifork/TIMEncryptedStorage-iOS.git
[10/482] Fetching timencryptedstorage-ios
Fetched https://github.com/trifork/TIMEncryptedStorage-iOS.git from cache (0.72s)
Creating working copy for https://github.com/trifork/TIMEncryptedStorage-iOS.git
Working copy of https://github.com/trifork/TIMEncryptedStorage-iOS.git resolved at 2.2.1 (466d9a9)
warning: '.resolve-product-dependencies': dependency 'timencryptedstorage-ios' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/trifork/TIMEncryptedStorage-iOS.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/22] Emitting module TIMEncryptedStorage
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/SecureStorageMock.swift:5:5: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 3 | struct SecureStorageMockItem: TIMSecureStorageItem {
 4 |     var id: String
 5 |     private (set) var isBioProtected: Bool = false
   |     `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 6 |
 7 |     init(id: String) {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/URLSessionMockProtocol.swift:43:23: warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 | struct URLSessionStubResults {
42 |     /// Contains stub results for specific URLs, which will be used when mocking `URLSession` via `URLSessionMockProtocol`
43 |     public static var resultsForUrls: [URL?: URLSessionStubResult] = [:]
   |                       |- warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'resultsForUrls' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'resultsForUrls' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 |     /// Resets the stub storage
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:96:51: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          |                                        `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
 97 |         Future { promise in
 98 |             self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:102:68: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
100 |     }
101 |
102 |     func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          |                                                         `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
103 |         Future { promise in
104 |             self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:108:39: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
106 |     }
107 |
108 |     func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          |                            `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
109 |         Future { promise in
110 |             self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:34:51: error: 'Future' is only available in macOS 10.15 or newer
 8 | ///
 9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
   |                 `- note: add @available attribute to enclosing protocol
11 |     /// Gets a existing encryption key from the key server, by using a `secret`
12 |     /// - Parameters:
   :
32 |     /// Combine wrapper for `getKey` function.
33 |     @available(iOS 13, *)
34 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
   |          |                                        `- error: 'Future' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
35 |
36 |     /// Combine wrapper for `getKeyViaLongSecret` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:38:68: error: 'Future' is only available in macOS 10.15 or newer
 8 | ///
 9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
   |                 `- note: add @available attribute to enclosing protocol
11 |     /// Gets a existing encryption key from the key server, by using a `secret`
12 |     /// - Parameters:
   :
36 |     /// Combine wrapper for `getKeyViaLongSecret` function.
37 |     @available(iOS 13, *)
38 |     func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
   |          |                                                         `- error: 'Future' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
39 |
40 |     /// Combine wrapper for `createKey` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:42:39: error: 'Future' is only available in macOS 10.15 or newer
 8 | ///
 9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
   |                 `- note: add @available attribute to enclosing protocol
11 |     /// Gets a existing encryption key from the key server, by using a `secret`
12 |     /// - Parameters:
   :
40 |     /// Combine wrapper for `createKey` function.
41 |     @available(iOS 13, *)
42 |     func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError>
   |          |                            `- error: 'Future' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
43 |     #endif
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychainStoreItem.swift:8:5: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 6 |
 7 |     public let id: String
 8 |     private (set) var parameters: [String: Any]
   |     `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 9 |
10 |     public init(id: String) {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:145:77: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 |     func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                                  `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
146 |         Future { promise in
147 |             self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:152:81: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
150 |
151 |     /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 |     func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                                      `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
153 |         Future { promise in
154 |             self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:159:72: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
157 |
158 |     /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 |     func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
    |          |                                                             `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
160 |         Future { promise in
161 |             self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:166:137: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
164 |
165 |     /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 |     func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                                                                                              `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
167 |         Future { promise in
168 |             self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:173:84: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
171 |
172 |     /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 |     func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
    |          |                                                                         `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
174 |         Future { promise in
175 |             self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:180:63: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
178 |
179 |     /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 |     func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
    |          |                                                    `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
181 |         Future { promise in
182 |             self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:187:123: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
185 |
186 |     /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 |     func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
    |          |                                                                                                                `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
188 |         Future { promise in
189 |             self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:194:60: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
192 |
193 |     /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 |     func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                 `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
195 |         Future { promise in
196 |             self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
[4/24] Compiling TIMEncryptedStorage TIMSecureStorageItem.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:145:77: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 |     func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                                  `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
146 |         Future { promise in
147 |             self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:152:81: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
150 |
151 |     /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 |     func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                                      `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
153 |         Future { promise in
154 |             self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:159:72: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
157 |
158 |     /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 |     func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
    |          |                                                             `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
160 |         Future { promise in
161 |             self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:166:137: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
164 |
165 |     /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 |     func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                                                                                              `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
167 |         Future { promise in
168 |             self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:173:84: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
171 |
172 |     /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 |     func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
    |          |                                                                         `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
174 |         Future { promise in
175 |             self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:180:63: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
178 |
179 |     /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 |     func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
    |          |                                                    `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
181 |         Future { promise in
182 |             self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:187:123: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
185 |
186 |     /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 |     func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
    |          |                                                                                                                `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
188 |         Future { promise in
189 |             self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:194:60: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
192 |
193 |     /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 |     func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                 `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
195 |         Future { promise in
196 |             self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:146:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 |     func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
146 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
147 |             self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
148 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:153:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
150 |
151 |     /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 |     func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
153 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
154 |             self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
155 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:160:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
157 |
158 |     /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 |     func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
160 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
161 |             self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
162 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:167:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
164 |
165 |     /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 |     func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
167 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
168 |             self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
169 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:174:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
171 |
172 |     /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 |     func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
174 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
175 |             self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
176 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:181:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
178 |
179 |     /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 |     func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
181 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
182 |             self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
183 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:188:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
185 |
186 |     /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 |     func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
188 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
189 |             self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
190 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:195:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
192 |
193 |     /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 |     func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
195 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
196 |             self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
197 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:305:21: warning: capture of 'willBeginNetworkRequests' with non-sendable type 'TIMEncryptedStorage<SecureStorage>.TIMESWillBeginNetworkRequests?' (aka 'Optional<() -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
303 |             if let longSecret = String(data: longSecretData, encoding: .utf8) {
304 |                 DispatchQueue.main.async {
305 |                     willBeginNetworkRequests?()
    |                     |- warning: capture of 'willBeginNetworkRequests' with non-sendable type 'TIMEncryptedStorage<SecureStorage>.TIMESWillBeginNetworkRequests?' (aka 'Optional<() -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
306 |                 }
307 |                 store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: completion)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:385:21: warning: capture of 'willBeginNetworkRequests' with non-sendable type 'TIMEncryptedStorage<SecureStorage>.TIMESWillBeginNetworkRequests?' (aka 'Optional<() -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
383 |             if let longSecret = String(data: longSecretData, encoding: .utf8) {
384 |                 DispatchQueue.main.async {
385 |                     willBeginNetworkRequests?()
    |                     |- warning: capture of 'willBeginNetworkRequests' with non-sendable type 'TIMEncryptedStorage<SecureStorage>.TIMESWillBeginNetworkRequests?' (aka 'Optional<() -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
386 |                 }
387 |                 keyService.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId) { (keyServerResult) in
[5/24] Compiling TIMEncryptedStorage TIMEncryptedStorage.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:145:77: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 |     func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                                  `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
146 |         Future { promise in
147 |             self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:152:81: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
150 |
151 |     /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 |     func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                                      `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
153 |         Future { promise in
154 |             self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:159:72: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
157 |
158 |     /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 |     func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
    |          |                                                             `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
160 |         Future { promise in
161 |             self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:166:137: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
164 |
165 |     /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 |     func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                                                                                              `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
167 |         Future { promise in
168 |             self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:173:84: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
171 |
172 |     /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 |     func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
    |          |                                                                         `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
174 |         Future { promise in
175 |             self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:180:63: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
178 |
179 |     /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 |     func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
    |          |                                                    `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
181 |         Future { promise in
182 |             self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:187:123: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
185 |
186 |     /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 |     func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
    |          |                                                                                                                `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
188 |         Future { promise in
189 |             self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:194:60: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
192 |
193 |     /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 |     func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          |                                                 `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
195 |         Future { promise in
196 |             self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:146:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 |     func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
146 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
147 |             self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
148 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:153:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
150 |
151 |     /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 |     func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
153 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
154 |             self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
155 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:160:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
157 |
158 |     /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 |     func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
160 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
161 |             self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
162 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:167:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
164 |
165 |     /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 |     func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
167 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
168 |             self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
169 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:174:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
171 |
172 |     /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 |     func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
174 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
175 |             self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
176 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:181:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
178 |
179 |     /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 |     func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
181 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
182 |             self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
183 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:188:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
185 |
186 |     /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 |     func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
188 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
189 |             self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
190 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:195:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
    |        `- note: add @available attribute to enclosing extension
143 |
144 |     /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
    :
192 |
193 |     /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 |     func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
    |          `- note: add @available attribute to enclosing instance method
195 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
196 |             self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
197 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:305:21: warning: capture of 'willBeginNetworkRequests' with non-sendable type 'TIMEncryptedStorage<SecureStorage>.TIMESWillBeginNetworkRequests?' (aka 'Optional<() -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
303 |             if let longSecret = String(data: longSecretData, encoding: .utf8) {
304 |                 DispatchQueue.main.async {
305 |                     willBeginNetworkRequests?()
    |                     |- warning: capture of 'willBeginNetworkRequests' with non-sendable type 'TIMEncryptedStorage<SecureStorage>.TIMESWillBeginNetworkRequests?' (aka 'Optional<() -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
306 |                 }
307 |                 store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: completion)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:385:21: warning: capture of 'willBeginNetworkRequests' with non-sendable type 'TIMEncryptedStorage<SecureStorage>.TIMESWillBeginNetworkRequests?' (aka 'Optional<() -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
383 |             if let longSecret = String(data: longSecretData, encoding: .utf8) {
384 |                 DispatchQueue.main.async {
385 |                     willBeginNetworkRequests?()
    |                     |- warning: capture of 'willBeginNetworkRequests' with non-sendable type 'TIMEncryptedStorage<SecureStorage>.TIMESWillBeginNetworkRequests?' (aka 'Optional<() -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
386 |                 }
387 |                 keyService.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId) { (keyServerResult) in
[6/24] Compiling TIMEncryptedStorage TIMKeychainStoreItem.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychainStoreItem.swift:8:5: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 6 |
 7 |     public let id: String
 8 |     private (set) var parameters: [String: Any]
   |     `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 9 |
10 |     public init(id: String) {
[7/24] Compiling TIMEncryptedStorage TIMSecureStorage.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychainStoreItem.swift:8:5: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 6 |
 7 |     public let id: String
 8 |     private (set) var parameters: [String: Any]
   |     `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 9 |
10 |     public init(id: String) {
[8/24] Compiling TIMEncryptedStorage TIMKeyServiceProtocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:34:51: error: 'Future' is only available in macOS 10.15 or newer
 8 | ///
 9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
   |                 `- note: add @available attribute to enclosing protocol
11 |     /// Gets a existing encryption key from the key server, by using a `secret`
12 |     /// - Parameters:
   :
32 |     /// Combine wrapper for `getKey` function.
33 |     @available(iOS 13, *)
34 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
   |          |                                        `- error: 'Future' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
35 |
36 |     /// Combine wrapper for `getKeyViaLongSecret` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:38:68: error: 'Future' is only available in macOS 10.15 or newer
 8 | ///
 9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
   |                 `- note: add @available attribute to enclosing protocol
11 |     /// Gets a existing encryption key from the key server, by using a `secret`
12 |     /// - Parameters:
   :
36 |     /// Combine wrapper for `getKeyViaLongSecret` function.
37 |     @available(iOS 13, *)
38 |     func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
   |          |                                                         `- error: 'Future' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
39 |
40 |     /// Combine wrapper for `createKey` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:42:39: error: 'Future' is only available in macOS 10.15 or newer
 8 | ///
 9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
   |                 `- note: add @available attribute to enclosing protocol
11 |     /// Gets a existing encryption key from the key server, by using a `secret`
12 |     /// - Parameters:
   :
40 |     /// Combine wrapper for `createKey` function.
41 |     @available(iOS 13, *)
42 |     func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError>
   |          |                            `- error: 'Future' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
43 |     #endif
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychainStoreItem.swift:8:5: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 6 |
 7 |     public let id: String
 8 |     private (set) var parameters: [String: Any]
   |     `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 9 |
10 |     public init(id: String) {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychain.swift:28:30: error: 'biometryAny' is only available in macOS 10.13.4 or newer
  5 | /// This wrapper is mainly for use internally in the TIMEncryptedStorage packages,
  6 | /// but it might come in handy as public in rare cases.
  7 | public final class TIMKeychain : TIMSecureStorage {
    |                    `- note: add @available attribute to enclosing class
  8 |
  9 |     public init() {
    :
 23 |     }
 24 |
 25 |     public func storeBiometricProtected(data: Data, item: TIMKeychainStorageItem) -> Result<Void, TIMSecureStorageError> {
    |                 `- note: add @available attribute to enclosing instance method
 26 |         let biometricFlag: SecAccessControlCreateFlags
 27 |         if #available(iOS 11.3, *) {
 28 |             biometricFlag = .biometryAny
    |                              |- error: 'biometryAny' is only available in macOS 10.13.4 or newer
    |                              `- note: add 'if #available' version check
 29 |         } else {
 30 |             biometricFlag = .touchIDAny
[9/24] Compiling TIMEncryptedStorage TIMKeychain.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:34:51: error: 'Future' is only available in macOS 10.15 or newer
 8 | ///
 9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
   |                 `- note: add @available attribute to enclosing protocol
11 |     /// Gets a existing encryption key from the key server, by using a `secret`
12 |     /// - Parameters:
   :
32 |     /// Combine wrapper for `getKey` function.
33 |     @available(iOS 13, *)
34 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
   |          |                                        `- error: 'Future' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
35 |
36 |     /// Combine wrapper for `getKeyViaLongSecret` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:38:68: error: 'Future' is only available in macOS 10.15 or newer
 8 | ///
 9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
   |                 `- note: add @available attribute to enclosing protocol
11 |     /// Gets a existing encryption key from the key server, by using a `secret`
12 |     /// - Parameters:
   :
36 |     /// Combine wrapper for `getKeyViaLongSecret` function.
37 |     @available(iOS 13, *)
38 |     func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
   |          |                                                         `- error: 'Future' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
39 |
40 |     /// Combine wrapper for `createKey` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:42:39: error: 'Future' is only available in macOS 10.15 or newer
 8 | ///
 9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
   |                 `- note: add @available attribute to enclosing protocol
11 |     /// Gets a existing encryption key from the key server, by using a `secret`
12 |     /// - Parameters:
   :
40 |     /// Combine wrapper for `createKey` function.
41 |     @available(iOS 13, *)
42 |     func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError>
   |          |                            `- error: 'Future' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
43 |     #endif
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychainStoreItem.swift:8:5: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 6 |
 7 |     public let id: String
 8 |     private (set) var parameters: [String: Any]
   |     `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 9 |
10 |     public init(id: String) {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychain.swift:28:30: error: 'biometryAny' is only available in macOS 10.13.4 or newer
  5 | /// This wrapper is mainly for use internally in the TIMEncryptedStorage packages,
  6 | /// but it might come in handy as public in rare cases.
  7 | public final class TIMKeychain : TIMSecureStorage {
    |                    `- note: add @available attribute to enclosing class
  8 |
  9 |     public init() {
    :
 23 |     }
 24 |
 25 |     public func storeBiometricProtected(data: Data, item: TIMKeychainStorageItem) -> Result<Void, TIMSecureStorageError> {
    |                 `- note: add @available attribute to enclosing instance method
 26 |         let biometricFlag: SecAccessControlCreateFlags
 27 |         if #available(iOS 11.3, *) {
 28 |             biometricFlag = .biometryAny
    |                              |- error: 'biometryAny' is only available in macOS 10.13.4 or newer
    |                              `- note: add 'if #available' version check
 29 |         } else {
 30 |             biometricFlag = .touchIDAny
[10/24] Compiling TIMEncryptedStorage OSStatus+Extensions.swift
[11/24] Compiling TIMEncryptedStorage TIMKeyModel+Extensions.swift
[12/24] Compiling TIMEncryptedStorage TIMESBiometricEnableResult.swift
[13/24] Compiling TIMEncryptedStorage TIMESEncryptionMethod.swift
[14/24] Compiling TIMEncryptedStorage TIMESKeyCreationResult.swift
[15/24] Compiling TIMEncryptedStorage TIMErrorModels.swift
[16/24] Compiling TIMEncryptedStorage URLSession+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/URLSessionMockProtocol.swift:43:23: warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 | struct URLSessionStubResults {
42 |     /// Contains stub results for specific URLs, which will be used when mocking `URLSession` via `URLSessionMockProtocol`
43 |     public static var resultsForUrls: [URL?: URLSessionStubResult] = [:]
   |                       |- warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'resultsForUrls' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'resultsForUrls' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 |     /// Resets the stub storage
[17/24] Compiling TIMEncryptedStorage URLSessionMockProtocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/URLSessionMockProtocol.swift:43:23: warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 | struct URLSessionStubResults {
42 |     /// Contains stub results for specific URLs, which will be used when mocking `URLSession` via `URLSessionMockProtocol`
43 |     public static var resultsForUrls: [URL?: URLSessionStubResult] = [:]
   |                       |- warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'resultsForUrls' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'resultsForUrls' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 |     /// Resets the stub storage
[18/24] Compiling TIMEncryptedStorage IVGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/SecureStorageMock.swift:5:5: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 3 | struct SecureStorageMockItem: TIMSecureStorageItem {
 4 |     var id: String
 5 |     private (set) var isBioProtected: Bool = false
   |     `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 6 |
 7 |     init(id: String) {
[19/24] Compiling TIMEncryptedStorage SecureStorageMock.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/SecureStorageMock.swift:5:5: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 3 | struct SecureStorageMockItem: TIMSecureStorageItem {
 4 |     var id: String
 5 |     private (set) var isBioProtected: Bool = false
   |     `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 6 |
 7 |     init(id: String) {
[20/24] Compiling TIMEncryptedStorage TIMKeyServiceModels.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:96:51: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          |                                        `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
 97 |         Future { promise in
 98 |             self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:102:68: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
100 |     }
101 |
102 |     func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          |                                                         `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
103 |         Future { promise in
104 |             self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:108:39: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
106 |     }
107 |
108 |     func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          |                            `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
109 |         Future { promise in
110 |             self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:53:21: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 51 |             guard let response = response as? HTTPURLResponse else {
 52 |                 DispatchQueue.main.async {
 53 |                     completion(.failure(mapKeyServiceError(error)))
    |                     |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 54 |                 }
 55 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:53:21: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 51 |             guard let response = response as? HTTPURLResponse else {
 52 |                 DispatchQueue.main.async {
 53 |                     completion(.failure(mapKeyServiceError(error)))
    |                     |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 54 |                 }
 55 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:62:25: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 60 |                 if let keyModel = try? JSONDecoder().decode(T.self, from: data) {
 61 |                     DispatchQueue.main.async {
 62 |                         completion(.success(keyModel))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 63 |                     }
 64 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:62:45: warning: capture of 'keyModel' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |     }
 43 |
 44 |     private func request<T: Decodable>(_ url: URL, parameters: [String : String], completion: @escaping (Result<T, TIMKeyServiceError>) -> Void) {
    |                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 45 |         var request = URLRequest(url: url)
 46 |         request.httpMethod = "POST"
    :
 60 |                 if let keyModel = try? JSONDecoder().decode(T.self, from: data) {
 61 |                     DispatchQueue.main.async {
 62 |                         completion(.success(keyModel))
    |                                             `- warning: capture of 'keyModel' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 63 |                     }
 64 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:66:25: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 64 |                 } else {
 65 |                     DispatchQueue.main.async {
 66 |                         completion(.failure(TIMKeyServiceError.unableToDecode))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                     }
 68 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:71:21: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 69 |             } else {
 70 |                 DispatchQueue.main.async {
 71 |                     completion(.failure(mapKeyServiceError(withCode: response.statusCode)))
    |                     |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:97:9: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
 97 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 98 |             self.getKey(secret: secret, keyId: keyId, completion: promise)
 99 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:103:9: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
100 |     }
101 |
102 |     func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
103 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
104 |             self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
105 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:109:9: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
106 |     }
107 |
108 |     func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
109 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
110 |             self.createKey(secret: secret, completion: promise)
111 |         }
[21/24] Compiling TIMEncryptedStorage TIMKeyService.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:96:51: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          |                                        `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
 97 |         Future { promise in
 98 |             self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:102:68: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
100 |     }
101 |
102 |     func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          |                                                         `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
103 |         Future { promise in
104 |             self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:108:39: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
106 |     }
107 |
108 |     func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          |                            `- error: 'Future' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
109 |         Future { promise in
110 |             self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:53:21: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 51 |             guard let response = response as? HTTPURLResponse else {
 52 |                 DispatchQueue.main.async {
 53 |                     completion(.failure(mapKeyServiceError(error)))
    |                     |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 54 |                 }
 55 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:53:21: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 51 |             guard let response = response as? HTTPURLResponse else {
 52 |                 DispatchQueue.main.async {
 53 |                     completion(.failure(mapKeyServiceError(error)))
    |                     |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 54 |                 }
 55 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:62:25: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 60 |                 if let keyModel = try? JSONDecoder().decode(T.self, from: data) {
 61 |                     DispatchQueue.main.async {
 62 |                         completion(.success(keyModel))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 63 |                     }
 64 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:62:45: warning: capture of 'keyModel' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |     }
 43 |
 44 |     private func request<T: Decodable>(_ url: URL, parameters: [String : String], completion: @escaping (Result<T, TIMKeyServiceError>) -> Void) {
    |                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 45 |         var request = URLRequest(url: url)
 46 |         request.httpMethod = "POST"
    :
 60 |                 if let keyModel = try? JSONDecoder().decode(T.self, from: data) {
 61 |                     DispatchQueue.main.async {
 62 |                         completion(.success(keyModel))
    |                                             `- warning: capture of 'keyModel' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 63 |                     }
 64 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:66:25: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 64 |                 } else {
 65 |                     DispatchQueue.main.async {
 66 |                         completion(.failure(TIMKeyServiceError.unableToDecode))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                     }
 68 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:71:21: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 69 |             } else {
 70 |                 DispatchQueue.main.async {
 71 |                     completion(.failure(mapKeyServiceError(withCode: response.statusCode)))
    |                     |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 72 |                 }
 73 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:97:9: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
 97 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 98 |             self.getKey(secret: secret, keyId: keyId, completion: promise)
 99 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:103:9: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
100 |     }
101 |
102 |     func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
103 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
104 |             self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
105 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:109:9: error: 'Future' is only available in macOS 10.15 or newer
 92 | // MARK: - New Combine wrappers 🥳
 93 | @available(iOS 13, *)
 94 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
 95 |
 96 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
106 |     }
107 |
108 |     func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
109 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
110 |             self.createKey(secret: secret, completion: promise)
111 |         }
[22/24] Compiling TIMEncryptedStorage CBC.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:12:35: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
12 |             let nonce = CryptoKit.AES.GCM.Nonce()
   |                                   |- error: 'AES' is only available in macOS 10.15 or newer
   |                                   `- note: add 'if #available' version check
13 |             let symmetricKey = SymmetricKey(data: key)
14 |             let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:13:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
12 |             let nonce = CryptoKit.AES.GCM.Nonce()
13 |             let symmetricKey = SymmetricKey(data: key)
   |                                |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
   |                                `- note: add 'if #available' version check
14 |             let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
15 |             if let encryptedContent = sealedData.combined {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:14:44: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
12 |             let nonce = CryptoKit.AES.GCM.Nonce()
13 |             let symmetricKey = SymmetricKey(data: key)
14 |             let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
   |                                            |- error: 'AES' is only available in macOS 10.15 or newer
   |                                            `- note: add 'if #available' version check
15 |             if let encryptedContent = sealedData.combined {
16 |                 return encryptedContent
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:24:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   :
21 |
22 |         @available(iOS 13, *)
23 |         static func decrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
24 |             let symmetricKey = SymmetricKey(data: key)
   |                                |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
   |                                `- note: add 'if #available' version check
25 |             do {
26 |                 let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:26:47: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   :
21 |
22 |         @available(iOS 13, *)
23 |         static func decrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
24 |             let symmetricKey = SymmetricKey(data: key)
25 |             do {
26 |                 let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
   |                                               |- error: 'AES' is only available in macOS 10.15 or newer
   |                                               `- note: add 'if #available' version check
27 |                 return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
28 |             } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:27:38: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   :
21 |
22 |         @available(iOS 13, *)
23 |         static func decrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
24 |             let symmetricKey = SymmetricKey(data: key)
25 |             do {
26 |                 let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
27 |                 return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
   |                                      |- error: 'AES' is only available in macOS 10.15 or newer
   |                                      `- note: add 'if #available' version check
28 |             } catch let error {
29 |                 throw TIMEncryptedStorageError.failedToDecryptData(error)
[23/24] Compiling TIMEncryptedStorage GCM.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:12:35: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
12 |             let nonce = CryptoKit.AES.GCM.Nonce()
   |                                   |- error: 'AES' is only available in macOS 10.15 or newer
   |                                   `- note: add 'if #available' version check
13 |             let symmetricKey = SymmetricKey(data: key)
14 |             let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:13:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
12 |             let nonce = CryptoKit.AES.GCM.Nonce()
13 |             let symmetricKey = SymmetricKey(data: key)
   |                                |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
   |                                `- note: add 'if #available' version check
14 |             let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
15 |             if let encryptedContent = sealedData.combined {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:14:44: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
12 |             let nonce = CryptoKit.AES.GCM.Nonce()
13 |             let symmetricKey = SymmetricKey(data: key)
14 |             let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
   |                                            |- error: 'AES' is only available in macOS 10.15 or newer
   |                                            `- note: add 'if #available' version check
15 |             if let encryptedContent = sealedData.combined {
16 |                 return encryptedContent
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:24:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   :
21 |
22 |         @available(iOS 13, *)
23 |         static func decrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
24 |             let symmetricKey = SymmetricKey(data: key)
   |                                |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
   |                                `- note: add 'if #available' version check
25 |             do {
26 |                 let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:26:47: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   :
21 |
22 |         @available(iOS 13, *)
23 |         static func decrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
24 |             let symmetricKey = SymmetricKey(data: key)
25 |             do {
26 |                 let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
   |                                               |- error: 'AES' is only available in macOS 10.15 or newer
   |                                               `- note: add 'if #available' version check
27 |                 return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
28 |             } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:27:38: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   :
21 |
22 |         @available(iOS 13, *)
23 |         static func decrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
24 |             let symmetricKey = SymmetricKey(data: key)
25 |             do {
26 |                 let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
27 |                 return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
   |                                      |- error: 'AES' is only available in macOS 10.15 or newer
   |                                      `- note: add 'if #available' version check
28 |             } catch let error {
29 |                 throw TIMEncryptedStorageError.failedToDecryptData(error)
[24/24] Compiling TIMEncryptedStorage TIMESCryptor.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:12:35: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
12 |             let nonce = CryptoKit.AES.GCM.Nonce()
   |                                   |- error: 'AES' is only available in macOS 10.15 or newer
   |                                   `- note: add 'if #available' version check
13 |             let symmetricKey = SymmetricKey(data: key)
14 |             let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:13:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
12 |             let nonce = CryptoKit.AES.GCM.Nonce()
13 |             let symmetricKey = SymmetricKey(data: key)
   |                                |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
   |                                `- note: add 'if #available' version check
14 |             let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
15 |             if let encryptedContent = sealedData.combined {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:14:44: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
12 |             let nonce = CryptoKit.AES.GCM.Nonce()
13 |             let symmetricKey = SymmetricKey(data: key)
14 |             let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
   |                                            |- error: 'AES' is only available in macOS 10.15 or newer
   |                                            `- note: add 'if #available' version check
15 |             if let encryptedContent = sealedData.combined {
16 |                 return encryptedContent
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:24:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   :
21 |
22 |         @available(iOS 13, *)
23 |         static func decrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
24 |             let symmetricKey = SymmetricKey(data: key)
   |                                |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
   |                                `- note: add 'if #available' version check
25 |             do {
26 |                 let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:26:47: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   :
21 |
22 |         @available(iOS 13, *)
23 |         static func decrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
24 |             let symmetricKey = SymmetricKey(data: key)
25 |             do {
26 |                 let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
   |                                               |- error: 'AES' is only available in macOS 10.15 or newer
   |                                               `- note: add 'if #available' version check
27 |                 return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
28 |             } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:27:38: error: 'AES' is only available in macOS 10.15 or newer
 7 |     #if canImport(CryptoKit)
 8 |     @available(iOS 13, *)
 9 |     struct GCM  {
   |            `- note: add @available attribute to enclosing struct
10 |         @available(iOS 13, *)
11 |         static func encrypt(key: Data, data: Data) throws -> Data {
   :
21 |
22 |         @available(iOS 13, *)
23 |         static func decrypt(key: Data, data: Data) throws -> Data {
   |                     `- note: add @available attribute to enclosing static method
24 |             let symmetricKey = SymmetricKey(data: key)
25 |             do {
26 |                 let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
27 |                 return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
   |                                      |- error: 'AES' is only available in macOS 10.15 or newer
   |                                      `- note: add 'if #available' version check
28 |             } catch let error {
29 |                 throw TIMEncryptedStorageError.failedToDecryptData(error)
BUILD FAILURE 6.0 macosSpm