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 TIM, reference main (1dae1b), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 01:25:51 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/trifork/TIM-iOS.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/trifork/TIM-iOS
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 1dae1be Merge pull request #30 from trifork/niha/app-auth-update
Cloned https://github.com/trifork/TIM-iOS.git
Revision (git rev-parse @):
1dae1be45a2f49da42b5a3b5f95a113c9fcf98bc
SUCCESS checkout https://github.com/trifork/TIM-iOS.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/trifork/TIM-iOS.git
https://github.com/trifork/TIM-iOS.git
{
  "dependencies" : [
    {
      "identity" : "appauth-ios",
      "requirement" : {
        "exact" : [
          "1.7.6"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/openid/AppAuth-iOS"
    },
    {
      "identity" : "timencryptedstorage-ios",
      "requirement" : {
        "exact" : [
          "2.2.3"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/trifork/TIMEncryptedStorage-iOS"
    }
  ],
  "manifest_display_name" : "TIM",
  "name" : "TIM",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "TIM",
      "targets" : [
        "TIM"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TIMTests",
      "module_type" : "SwiftTarget",
      "name" : "TIMTests",
      "path" : "Tests/TIMTests",
      "sources" : [
        "AppAuthControllerTests.swift",
        "DataConvertableTests.swift",
        "JWTExtensionTests.swift",
        "TIMAppBackgroundMonitorDefaultTests.swift",
        "TIMAuthDefaultTests.swift",
        "TIMConfigurationTests.swift",
        "TIMStorageDefaultTests.swift",
        "TIMStorageErrorTests.swift",
        "TIMTests.swift"
      ],
      "target_dependencies" : [
        "TIM"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TIM",
      "module_type" : "SwiftTarget",
      "name" : "TIM",
      "path" : "Sources/TIM",
      "product_dependencies" : [
        "AppAuth",
        "TIMEncryptedStorage"
      ],
      "product_memberships" : [
        "TIM"
      ],
      "sources" : [
        "AppAuth/AppAuthController.swift",
        "AppAuth/AppAuthControllerMock.swift",
        "AppAuth/AuthASWebAuthenticationSession.swift",
        "AppAuth/AuthSFController.swift",
        "Extensions/JWT+Extensions.swift",
        "Extensions/String+DataConvertable.swift",
        "Extensions/TimeInterval+DataConvertable.swift",
        "Helpers/JWTDecoder.swift",
        "Helpers/TIMLogger.swift",
        "Models/Errors.swift",
        "Models/TIMCallbackModels.swift",
        "Models/TIMConfiguration.swift",
        "Models/TIMOpenIDConfiguration.swift",
        "Protocols/TIMAppBackgroundMonitor.swift",
        "Protocols/TIMAuth.swift",
        "Protocols/TIMDataStorage.swift",
        "TIM.swift",
        "TIMInternal/TIMAppBackgroundMonitorDefault.swift",
        "TIMInternal/TIMAuthDefault.swift",
        "TIMInternal/TIMDataStorageDefault.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/15] Write sources
[0/15] Copying PrivacyInfo.xcprivacy
[3/15] Write swift-version-2F0A5646E1D333AE.txt
[4/15] Compiling OIDExternalUserAgentIOS.m
[5/15] Compiling OIDExternalUserAgentIOSCustomBrowser.m
[6/15] Compiling OIDAuthorizationService+IOS.m
[7/15] Compiling OIDAuthState+IOS.m
[8/15] Compiling OIDLoopbackHTTPServer.m
[9/15] Compiling OIDExternalUserAgentCatalyst.m
[10/35] Compiling AppAuth resource_bundle_accessor.m
[11/35] Compiling OIDRedirectHTTPHandler.m
[12/35] Compiling OIDAuthState+Mac.m
[13/35] Compiling OIDAuthorizationService+Mac.m
[14/35] Compiling OIDExternalUserAgentMac.m
error: emit-module command failed with exit code 1 (use -v to see invocation)
[16/35] Emitting module TIMEncryptedStorage
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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) })
[17/37] Compiling TIMEncryptedStorage TIMESKeyCreationResult.swift
[18/37] Compiling TIMEncryptedStorage TIMErrorModels.swift
[19/37] Compiling TIMEncryptedStorage TIMSecureStorageItem.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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 |         }
[20/37] Compiling TIMEncryptedStorage TIMEncryptedStorage.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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 |         }
[21/37] Compiling TIMEncryptedStorage IVGenerator.swift
[22/37] Compiling TIMEncryptedStorage SecureStorageMock.swift
[23/37] Compiling TIMEncryptedStorage URLSession+Extensions.swift
[24/37] Compiling TIMEncryptedStorage URLSessionMockProtocol.swift
[25/37] Compiling TIMEncryptedStorage TIMKeychainStoreItem.swift
[26/37] Compiling TIMEncryptedStorage TIMSecureStorage.swift
[27/37] Compiling TIMEncryptedStorage TIMKeyServiceProtocol.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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
[28/37] Compiling TIMEncryptedStorage TIMKeychain.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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
[29/37] Compiling TIMEncryptedStorage TIMESBiometricEnableResult.swift
[30/37] Compiling TIMEncryptedStorage TIMESEncryptionMethod.swift
[31/37] Compiling TIMEncryptedStorage OSStatus+Extensions.swift
[32/37] Compiling TIMEncryptedStorage TIMKeyModel+Extensions.swift
[33/37] Compiling TIMEncryptedStorage TIMKeyServiceModels.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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 |         }
[34/37] Compiling TIMEncryptedStorage TIMKeyService.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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 |         }
[35/37] Compiling TIMEncryptedStorage CBC.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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)
[36/37] Compiling TIMEncryptedStorage GCM.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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)
[37/37] Compiling TIMEncryptedStorage TIMESCryptor.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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)
Fetching https://github.com/openid/AppAuth-iOS
Fetching https://github.com/trifork/TIMEncryptedStorage-iOS
[1/490] Fetching timencryptedstorage-ios
[433/9572] Fetching timencryptedstorage-ios, appauth-ios
Fetched https://github.com/trifork/TIMEncryptedStorage-iOS from cache (1.20s)
Fetched https://github.com/openid/AppAuth-iOS from cache (1.20s)
Computing version for https://github.com/trifork/TIMEncryptedStorage-iOS
Computed https://github.com/trifork/TIMEncryptedStorage-iOS at 2.2.3 (1.83s)
Computing version for https://github.com/openid/AppAuth-iOS
Computed https://github.com/openid/AppAuth-iOS at 1.7.6 (0.60s)
Creating working copy for https://github.com/openid/AppAuth-iOS
Working copy of https://github.com/openid/AppAuth-iOS resolved at 1.7.6
Creating working copy for https://github.com/trifork/TIMEncryptedStorage-iOS
Working copy of https://github.com/trifork/TIMEncryptedStorage-iOS resolved at 2.2.3
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/21] Emitting module TIMEncryptedStorage
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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) })
[3/23] Compiling TIMEncryptedStorage CBC.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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)
[4/23] Compiling TIMEncryptedStorage GCM.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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)
[5/23] Compiling TIMEncryptedStorage TIMESCryptor.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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)
[6/23] Compiling TIMEncryptedStorage TIMKeychainStoreItem.swift
[7/23] Compiling TIMEncryptedStorage TIMSecureStorage.swift
[8/23] Compiling TIMEncryptedStorage TIMESKeyCreationResult.swift
[9/23] Compiling TIMEncryptedStorage TIMErrorModels.swift
[10/23] Compiling TIMEncryptedStorage TIMESBiometricEnableResult.swift
[11/23] Compiling TIMEncryptedStorage TIMESEncryptionMethod.swift
[12/23] Compiling TIMEncryptedStorage IVGenerator.swift
[13/23] Compiling TIMEncryptedStorage SecureStorageMock.swift
[14/23] Compiling TIMEncryptedStorage TIMKeyServiceProtocol.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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
[15/23] Compiling TIMEncryptedStorage TIMKeychain.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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
[16/23] Compiling TIMEncryptedStorage OSStatus+Extensions.swift
[17/23] Compiling TIMEncryptedStorage TIMKeyModel+Extensions.swift
[18/23] Compiling TIMEncryptedStorage URLSession+Extensions.swift
[19/23] Compiling TIMEncryptedStorage URLSessionMockProtocol.swift
[20/23] Compiling TIMEncryptedStorage TIMKeyServiceModels.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/23] Compiling TIMEncryptedStorage TIMKeyService.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/23] Compiling TIMEncryptedStorage TIMSecureStorageItem.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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 |         }
[23/23] Compiling TIMEncryptedStorage TIMEncryptedStorage.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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/.build/checkouts/TIMEncryptedStorage-iOS/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 |         }
BUILD FAILURE 6.1 macosSpm