The Swift Package Index logo.Swift Package Index

Build Information

Failed to build TIMEncryptedStorage, reference main (b66641), with Swift 6.2 for macOS (SPM) on 22 Jun 2025 12:50:01 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/trifork/TIMEncryptedStorage-iOS.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/trifork/TIMEncryptedStorage-iOS
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at b666418 Merge pull request #11 from trifork/niha/request-retry
Cloned https://github.com/trifork/TIMEncryptedStorage-iOS.git
Revision (git rev-parse @):
b666418d052375516eb41e2eae26b154dd1d3681
SUCCESS checkout https://github.com/trifork/TIMEncryptedStorage-iOS.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/trifork/TIMEncryptedStorage-iOS.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-1EA4D86E10B52AF.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:12: 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/TIM/KeyService/TIMKeyService.swift:122:51: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     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
123 |         Future { promise in
124 |             self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:128:68: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
126 |     }
127 |
128 |     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
129 |         Future { promise in
130 |             self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:134:39: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
132 |     }
133 |
134 |     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
135 |         Future { promise in
136 |             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/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 |         }
[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 |         }
[6/24] Compiling TIMEncryptedStorage OSStatus+Extensions.swift
[7/24] Compiling TIMEncryptedStorage TIMKeyModel+Extensions.swift
[8/24] Compiling TIMEncryptedStorage TIMKeychainStoreItem.swift
[9/24] Compiling TIMEncryptedStorage TIMSecureStorage.swift
[10/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/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
[11/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/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
[12/24] Compiling TIMEncryptedStorage TIMESKeyCreationResult.swift
[13/24] Compiling TIMEncryptedStorage TIMErrorModels.swift
[14/24] Compiling TIMEncryptedStorage TIMESBiometricEnableResult.swift
[15/24] Compiling TIMEncryptedStorage TIMESEncryptionMethod.swift
[16/24] Compiling TIMEncryptedStorage URLSession+Extensions.swift
[17/24] Compiling TIMEncryptedStorage URLSessionMockProtocol.swift
[18/24] Compiling TIMEncryptedStorage IVGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/SecureStorageMock.swift:5:12: 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:12: 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:122:51: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     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
123 |         Future { promise in
124 |             self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:128:68: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
126 |     }
127 |
128 |     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
129 |         Future { promise in
130 |             self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:134:39: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
132 |     }
133 |
134 |     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
135 |         Future { promise in
136 |             self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:54:82: warning: capture of non-sendable type 'T.Type' in an isolated closure
 52 |     }
 53 |
 54 |     private func request<T: Decodable>(_ url: URL, parameters: [String: String], completion: @escaping (Result<T, TIMKeyServiceError>) -> Void) {
    |                                                                                  `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 55 |         // Helper method to perform the request and handle retries
 56 |         func performRequest(with urlSession: URLSession, retryCount: Int) {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:82:58: warning: capture of non-sendable type 'T.Type' in an isolated closure
 80 |
 81 |                 if response.statusCode == 200, let data = data {
 82 |                     if let keyModel = try? JSONDecoder().decode(T.self, from: data) {
    |                                                          `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 83 |                         DispatchQueue.main.async {
 84 |                             completion(.success(keyModel))
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:123:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
123 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
124 |             self.getKey(secret: secret, keyId: keyId, completion: promise)
125 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:129:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
126 |     }
127 |
128 |     func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
129 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
130 |             self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
131 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:135:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
132 |     }
133 |
134 |     func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
135 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
136 |             self.createKey(secret: secret, completion: promise)
137 |         }
[21/24] Compiling TIMEncryptedStorage TIMKeyService.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:122:51: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     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
123 |         Future { promise in
124 |             self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:128:68: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
126 |     }
127 |
128 |     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
129 |         Future { promise in
130 |             self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:134:39: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
132 |     }
133 |
134 |     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
135 |         Future { promise in
136 |             self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:54:82: warning: capture of non-sendable type 'T.Type' in an isolated closure
 52 |     }
 53 |
 54 |     private func request<T: Decodable>(_ url: URL, parameters: [String: String], completion: @escaping (Result<T, TIMKeyServiceError>) -> Void) {
    |                                                                                  `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 55 |         // Helper method to perform the request and handle retries
 56 |         func performRequest(with urlSession: URLSession, retryCount: Int) {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:82:58: warning: capture of non-sendable type 'T.Type' in an isolated closure
 80 |
 81 |                 if response.statusCode == 200, let data = data {
 82 |                     if let keyModel = try? JSONDecoder().decode(T.self, from: data) {
    |                                                          `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 83 |                         DispatchQueue.main.async {
 84 |                             completion(.success(keyModel))
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:123:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
123 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
124 |             self.getKey(secret: secret, keyId: keyId, completion: promise)
125 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:129:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
126 |     }
127 |
128 |     func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
129 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
130 |             self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
131 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:135:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
    |        `- note: add @available attribute to enclosing extension
121 |
122 |     func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    :
132 |     }
133 |
134 |     func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
    |          `- note: add @available attribute to enclosing instance method
135 |         Future { promise in
    |         |- error: 'Future' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
136 |             self.createKey(secret: secret, completion: promise)
137 |         }
[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.2 macosSpm