Build Information
Failed to build TIMEncryptedStorage, reference 2.2.3 (b66641
), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 22:57:24 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/TIMEncryptedStorage-iOS.git
Reference: 2.2.3
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/trifork/TIMEncryptedStorage-iOS
* tag 2.2.3 -> FETCH_HEAD
HEAD is now at b666418 Merge pull request #11 from trifork/niha/request-retry
Cloned https://github.com/trifork/TIMEncryptedStorage-iOS.git
Revision (git rev-parse @):
b666418d052375516eb41e2eae26b154dd1d3681
SUCCESS checkout https://github.com/trifork/TIMEncryptedStorage-iOS.git at 2.2.3
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/trifork/TIMEncryptedStorage-iOS.git
https://github.com/trifork/TIMEncryptedStorage-iOS.git
{
"dependencies" : [
],
"manifest_display_name" : "TIMEncryptedStorage",
"name" : "TIMEncryptedStorage",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "9.0"
}
],
"products" : [
{
"name" : "TIMEncryptedStorage",
"targets" : [
"TIMEncryptedStorage"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TIMEncryptedStorageTests",
"module_type" : "SwiftTarget",
"name" : "TIMEncryptedStorageTests",
"path" : "Tests/TIMEncryptedStorageTests",
"sources" : [
"IVGeneratorTests.swift",
"KeychainStoreItemTests.swift",
"OSStatusExtensionsTests.swift",
"TIMCryptorTests.swift",
"TIMEncryptedStorageTests.swift",
"TIMKeyModelExtensionsTests.swift",
"TIMKeyServiceErrorTests.swift",
"TIMKeyServiceModelsTests.swift",
"TIMKeyServiceTests.swift"
],
"target_dependencies" : [
"TIMEncryptedStorage"
],
"type" : "test"
},
{
"c99name" : "TIMEncryptedStorage",
"module_type" : "SwiftTarget",
"name" : "TIMEncryptedStorage",
"path" : "Sources/TIMEncryptedStorage",
"product_memberships" : [
"TIMEncryptedStorage"
],
"sources" : [
"Cryptors/AES/CBC.swift",
"Cryptors/AES/GCM.swift",
"Cryptors/TIMESCryptor.swift",
"Extensions/OSStatus+Extensions.swift",
"Extensions/TIMKeyModel+Extensions.swift",
"Helpers/IVGenerator.swift",
"Helpers/Test/SecureStorageMock.swift",
"Helpers/Test/URLSession+Extensions.swift",
"Helpers/Test/URLSessionMockProtocol.swift",
"Models/TIMESBiometricEnableResult.swift",
"Models/TIMESEncryptionMethod.swift",
"Models/TIMESKeyCreationResult.swift",
"Models/TIMErrorModels.swift",
"Models/TIMKeyServiceModels.swift",
"TIM/KeyService/TIMKeyService.swift",
"TIM/KeyService/TIMKeyServiceProtocol.swift",
"TIM/Keychain/TIMKeychain.swift",
"TIM/Keychain/TIMKeychainStoreItem.swift",
"TIM/Keychain/TIMSecureStorage.swift",
"TIM/Keychain/TIMSecureStorageItem.swift",
"TIM/TIMEncryptedStorage.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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/22] Emitting module TIMEncryptedStorage
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/SecureStorageMock.swift:5:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
3 | struct SecureStorageMockItem: TIMSecureStorageItem {
4 | var id: String
5 | private (set) var isBioProtected: Bool = false
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
6 |
7 | init(id: String) {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/URLSessionMockProtocol.swift:43:23: warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 | struct URLSessionStubResults {
42 | /// Contains stub results for specific URLs, which will be used when mocking `URLSession` via `URLSessionMockProtocol`
43 | public static var resultsForUrls: [URL?: URLSessionStubResult] = [:]
| |- warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'resultsForUrls' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'resultsForUrls' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// Resets the stub storage
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:122:51: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
123 | Future { promise in
124 | self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:128:68: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
126 | }
127 |
128 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
129 | Future { promise in
130 | self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:134:39: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
132 | }
133 |
134 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
135 | Future { promise in
136 | self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:34:51: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
32 | /// Combine wrapper for `getKey` function.
33 | @available(iOS 13, *)
34 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
35 |
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:38:68: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
37 | @available(iOS 13, *)
38 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
39 |
40 | /// Combine wrapper for `createKey` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:42:39: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
40 | /// Combine wrapper for `createKey` function.
41 | @available(iOS 13, *)
42 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
43 | #endif
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:145:77: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 | func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
146 | Future { promise in
147 | self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:152:81: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
150 |
151 | /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 | func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
153 | Future { promise in
154 | self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:159:72: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
157 |
158 | /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 | func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
160 | Future { promise in
161 | self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:166:137: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
164 |
165 | /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 | func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
167 | Future { promise in
168 | self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:173:84: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
171 |
172 | /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 | func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
174 | Future { promise in
175 | self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:180:63: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
178 |
179 | /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 | func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
181 | Future { promise in
182 | self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:187:123: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
185 |
186 | /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 | func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
188 | Future { promise in
189 | self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:194:60: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
192 |
193 | /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 | func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
195 | Future { promise in
196 | self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
[4/24] Compiling TIMEncryptedStorage OSStatus+Extensions.swift
[5/24] Compiling TIMEncryptedStorage TIMKeyModel+Extensions.swift
[6/24] Compiling TIMEncryptedStorage TIMSecureStorageItem.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:145:77: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 | func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
146 | Future { promise in
147 | self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:152:81: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
150 |
151 | /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 | func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
153 | Future { promise in
154 | self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:159:72: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
157 |
158 | /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 | func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
160 | Future { promise in
161 | self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:166:137: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
164 |
165 | /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 | func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
167 | Future { promise in
168 | self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:173:84: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
171 |
172 | /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 | func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
174 | Future { promise in
175 | self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:180:63: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
178 |
179 | /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 | func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
181 | Future { promise in
182 | self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:187:123: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
185 |
186 | /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 | func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
188 | Future { promise in
189 | self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:194:60: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
192 |
193 | /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 | func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
195 | Future { promise in
196 | self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:146:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 | func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
146 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
147 | self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
148 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:153:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
150 |
151 | /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 | func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
153 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
154 | self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:160:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
157 |
158 | /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 | func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
160 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
161 | self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
162 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:167:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
164 |
165 | /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 | func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
167 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
168 | self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
169 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:174:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
171 |
172 | /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 | func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
174 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
175 | self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
176 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:181:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
178 |
179 | /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 | func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
181 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
182 | self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
183 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:188:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
185 |
186 | /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 | func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
188 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
189 | self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:195:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
192 |
193 | /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 | func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
195 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
196 | self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
197 | }
[7/24] Compiling TIMEncryptedStorage TIMEncryptedStorage.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:145:77: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 | func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
146 | Future { promise in
147 | self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:152:81: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
150 |
151 | /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 | func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
153 | Future { promise in
154 | self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:159:72: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
157 |
158 | /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 | func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
160 | Future { promise in
161 | self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:166:137: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
164 |
165 | /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 | func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
167 | Future { promise in
168 | self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:173:84: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
171 |
172 | /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 | func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
174 | Future { promise in
175 | self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:180:63: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
178 |
179 | /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 | func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
181 | Future { promise in
182 | self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:187:123: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
185 |
186 | /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 | func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
188 | Future { promise in
189 | self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:194:60: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
192 |
193 | /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 | func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
195 | Future { promise in
196 | self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:146:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 | func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
146 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
147 | self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
148 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:153:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
150 |
151 | /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 | func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
153 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
154 | self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:160:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
157 |
158 | /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 | func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
160 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
161 | self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
162 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:167:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
164 |
165 | /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 | func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
167 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
168 | self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
169 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:174:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
171 |
172 | /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 | func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
174 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
175 | self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
176 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:181:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
178 |
179 | /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 | func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
181 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
182 | self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
183 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:188:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
185 |
186 | /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 | func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
188 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
189 | self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:195:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
192 |
193 | /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 | func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
195 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
196 | self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
197 | }
[8/24] Compiling TIMEncryptedStorage CBC.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:12:35: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:13:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
15 | if let encryptedContent = sealedData.combined {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:14:44: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | if let encryptedContent = sealedData.combined {
16 | return encryptedContent
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:24:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:26:47: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
28 | } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:27:38: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
28 | } catch let error {
29 | throw TIMEncryptedStorageError.failedToDecryptData(error)
[9/24] Compiling TIMEncryptedStorage GCM.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:12:35: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:13:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
15 | if let encryptedContent = sealedData.combined {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:14:44: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | if let encryptedContent = sealedData.combined {
16 | return encryptedContent
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:24:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:26:47: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
28 | } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:27:38: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
28 | } catch let error {
29 | throw TIMEncryptedStorageError.failedToDecryptData(error)
[10/24] Compiling TIMEncryptedStorage TIMESCryptor.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:12:35: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:13:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
15 | if let encryptedContent = sealedData.combined {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:14:44: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | if let encryptedContent = sealedData.combined {
16 | return encryptedContent
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:24:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:26:47: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
28 | } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:27:38: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
28 | } catch let error {
29 | throw TIMEncryptedStorageError.failedToDecryptData(error)
[11/24] Compiling TIMEncryptedStorage TIMESBiometricEnableResult.swift
[12/24] Compiling TIMEncryptedStorage TIMESEncryptionMethod.swift
[13/24] Compiling TIMEncryptedStorage IVGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/SecureStorageMock.swift:5:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
3 | struct SecureStorageMockItem: TIMSecureStorageItem {
4 | var id: String
5 | private (set) var isBioProtected: Bool = false
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
6 |
7 | init(id: String) {
[14/24] Compiling TIMEncryptedStorage SecureStorageMock.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/SecureStorageMock.swift:5:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
3 | struct SecureStorageMockItem: TIMSecureStorageItem {
4 | var id: String
5 | private (set) var isBioProtected: Bool = false
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
6 |
7 | init(id: String) {
[15/24] Compiling TIMEncryptedStorage TIMESKeyCreationResult.swift
[16/24] Compiling TIMEncryptedStorage TIMErrorModels.swift
[17/24] Compiling TIMEncryptedStorage TIMKeychainStoreItem.swift
[18/24] Compiling TIMEncryptedStorage TIMSecureStorage.swift
[19/24] Compiling TIMEncryptedStorage URLSession+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/URLSessionMockProtocol.swift:43:23: warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 | struct URLSessionStubResults {
42 | /// Contains stub results for specific URLs, which will be used when mocking `URLSession` via `URLSessionMockProtocol`
43 | public static var resultsForUrls: [URL?: URLSessionStubResult] = [:]
| |- warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'resultsForUrls' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'resultsForUrls' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// Resets the stub storage
[20/24] Compiling TIMEncryptedStorage URLSessionMockProtocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/URLSessionMockProtocol.swift:43:23: warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 | struct URLSessionStubResults {
42 | /// Contains stub results for specific URLs, which will be used when mocking `URLSession` via `URLSessionMockProtocol`
43 | public static var resultsForUrls: [URL?: URLSessionStubResult] = [:]
| |- warning: static property 'resultsForUrls' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'resultsForUrls' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'resultsForUrls' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// Resets the stub storage
[21/24] Compiling TIMEncryptedStorage TIMKeyServiceProtocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:34:51: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
32 | /// Combine wrapper for `getKey` function.
33 | @available(iOS 13, *)
34 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
35 |
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:38:68: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
37 | @available(iOS 13, *)
38 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
39 |
40 | /// Combine wrapper for `createKey` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:42:39: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
40 | /// Combine wrapper for `createKey` function.
41 | @available(iOS 13, *)
42 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
43 | #endif
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychain.swift:28:30: error: 'biometryAny' is only available in macOS 10.13.4 or newer
5 | /// This wrapper is mainly for use internally in the TIMEncryptedStorage packages,
6 | /// but it might come in handy as public in rare cases.
7 | public final class TIMKeychain : TIMSecureStorage {
| `- note: add @available attribute to enclosing class
8 |
9 | public init() {
:
23 | }
24 |
25 | public func storeBiometricProtected(data: Data, item: TIMKeychainStorageItem) -> Result<Void, TIMSecureStorageError> {
| `- note: add @available attribute to enclosing instance method
26 | let biometricFlag: SecAccessControlCreateFlags
27 | if #available(iOS 11.3, *) {
28 | biometricFlag = .biometryAny
| |- error: 'biometryAny' is only available in macOS 10.13.4 or newer
| `- note: add 'if #available' version check
29 | } else {
30 | biometricFlag = .touchIDAny
[22/24] Compiling TIMEncryptedStorage TIMKeychain.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:34:51: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
32 | /// Combine wrapper for `getKey` function.
33 | @available(iOS 13, *)
34 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
35 |
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:38:68: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
37 | @available(iOS 13, *)
38 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
39 |
40 | /// Combine wrapper for `createKey` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:42:39: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
40 | /// Combine wrapper for `createKey` function.
41 | @available(iOS 13, *)
42 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
43 | #endif
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychain.swift:28:30: error: 'biometryAny' is only available in macOS 10.13.4 or newer
5 | /// This wrapper is mainly for use internally in the TIMEncryptedStorage packages,
6 | /// but it might come in handy as public in rare cases.
7 | public final class TIMKeychain : TIMSecureStorage {
| `- note: add @available attribute to enclosing class
8 |
9 | public init() {
:
23 | }
24 |
25 | public func storeBiometricProtected(data: Data, item: TIMKeychainStorageItem) -> Result<Void, TIMSecureStorageError> {
| `- note: add @available attribute to enclosing instance method
26 | let biometricFlag: SecAccessControlCreateFlags
27 | if #available(iOS 11.3, *) {
28 | biometricFlag = .biometryAny
| |- error: 'biometryAny' is only available in macOS 10.13.4 or newer
| `- note: add 'if #available' version check
29 | } else {
30 | biometricFlag = .touchIDAny
[23/24] Compiling TIMEncryptedStorage TIMKeyServiceModels.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:122:51: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
123 | Future { promise in
124 | self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:128:68: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
126 | }
127 |
128 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
129 | Future { promise in
130 | self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:134:39: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
132 | }
133 |
134 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
135 | Future { promise in
136 | self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:63:27: warning: capture of 'self' with non-sendable type 'TIMKeyService?' in a '@Sendable' closure
22 | /// This wrapper is mainly for use internally in the TIMEncryptedStorage packages,
23 | /// but it might come in handy in rare cases.
24 | public final class TIMKeyService : TIMKeyServiceProtocol {
| `- note: class 'TIMKeyService' does not conform to the 'Sendable' protocol
25 |
26 | /// The configuration of the key service
:
61 |
62 | let task = urlSession.dataTask(with: request) { [weak self] (data, response, error) in
63 | guard let self else { fatalError("❗️No reference to self in \(#function)") }
| `- warning: capture of 'self' with non-sendable type 'TIMKeyService?' in a '@Sendable' closure
64 |
65 | guard let response = response as? HTTPURLResponse else {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:71:25: warning: capture of 'performRequest(with:retryCount:)' with non-sendable type '<T where T : Decodable> (with: URLSession, retryCount: Int) -> ()' in a '@Sendable' closure
69 | let newSession = URLSession(configuration: self.urlSessionConfiguration)
70 | print("⚠️ TIMEncryptedStorage: Created a new URLSession to retry the request")
71 | performRequest(with: newSession, retryCount: retryCount - 1)
| `- warning: capture of 'performRequest(with:retryCount:)' with non-sendable type '<T where T : Decodable> (with: URLSession, retryCount: Int) -> ()' in a '@Sendable' closure
72 | } else {
73 | // If no retries left, return the error
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:75:29: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a '@Sendable' closure
73 | // If no retries left, return the error
74 | DispatchQueue.main.async {
75 | completion(.failure(mapKeyServiceError(error)))
| |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | }
77 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:56:14: warning: concurrently-executed local function 'performRequest(with:retryCount:)' must be marked as '@Sendable'
54 | private func request<T: Decodable>(_ url: URL, parameters: [String: String], completion: @escaping (Result<T, TIMKeyServiceError>) -> Void) {
55 | // Helper method to perform the request and handle retries
56 | func performRequest(with urlSession: URLSession, retryCount: Int) {
| `- warning: concurrently-executed local function 'performRequest(with:retryCount:)' must be marked as '@Sendable'
57 | var request = URLRequest(url: url)
58 | request.httpMethod = "POST"
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:123:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
123 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
124 | self.getKey(secret: secret, keyId: keyId, completion: promise)
125 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:129:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
126 | }
127 |
128 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
129 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
130 | self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
131 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:135:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
132 | }
133 |
134 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
135 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
136 | self.createKey(secret: secret, completion: promise)
137 | }
[24/24] Compiling TIMEncryptedStorage TIMKeyService.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:122:51: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
123 | Future { promise in
124 | self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:128:68: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
126 | }
127 |
128 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
129 | Future { promise in
130 | self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:134:39: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
132 | }
133 |
134 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
135 | Future { promise in
136 | self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:63:27: warning: capture of 'self' with non-sendable type 'TIMKeyService?' in a '@Sendable' closure
22 | /// This wrapper is mainly for use internally in the TIMEncryptedStorage packages,
23 | /// but it might come in handy in rare cases.
24 | public final class TIMKeyService : TIMKeyServiceProtocol {
| `- note: class 'TIMKeyService' does not conform to the 'Sendable' protocol
25 |
26 | /// The configuration of the key service
:
61 |
62 | let task = urlSession.dataTask(with: request) { [weak self] (data, response, error) in
63 | guard let self else { fatalError("❗️No reference to self in \(#function)") }
| `- warning: capture of 'self' with non-sendable type 'TIMKeyService?' in a '@Sendable' closure
64 |
65 | guard let response = response as? HTTPURLResponse else {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:71:25: warning: capture of 'performRequest(with:retryCount:)' with non-sendable type '<T where T : Decodable> (with: URLSession, retryCount: Int) -> ()' in a '@Sendable' closure
69 | let newSession = URLSession(configuration: self.urlSessionConfiguration)
70 | print("⚠️ TIMEncryptedStorage: Created a new URLSession to retry the request")
71 | performRequest(with: newSession, retryCount: retryCount - 1)
| `- warning: capture of 'performRequest(with:retryCount:)' with non-sendable type '<T where T : Decodable> (with: URLSession, retryCount: Int) -> ()' in a '@Sendable' closure
72 | } else {
73 | // If no retries left, return the error
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:75:29: warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a '@Sendable' closure
73 | // If no retries left, return the error
74 | DispatchQueue.main.async {
75 | completion(.failure(mapKeyServiceError(error)))
| |- warning: capture of 'completion' with non-sendable type '(Result<T, TIMKeyServiceError>) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | }
77 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:56:14: warning: concurrently-executed local function 'performRequest(with:retryCount:)' must be marked as '@Sendable'
54 | private func request<T: Decodable>(_ url: URL, parameters: [String: String], completion: @escaping (Result<T, TIMKeyServiceError>) -> Void) {
55 | // Helper method to perform the request and handle retries
56 | func performRequest(with urlSession: URLSession, retryCount: Int) {
| `- warning: concurrently-executed local function 'performRequest(with:retryCount:)' must be marked as '@Sendable'
57 | var request = URLRequest(url: url)
58 | request.httpMethod = "POST"
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:123:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
123 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
124 | self.getKey(secret: secret, keyId: keyId, completion: promise)
125 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:129:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
126 | }
127 |
128 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
129 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
130 | self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
131 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:135:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
132 | }
133 |
134 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
135 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
136 | self.createKey(secret: secret, completion: promise)
137 | }
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/Sources/TIMEncryptedStorage/Helpers/Test/SecureStorageMock.swift:5:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
3 | struct SecureStorageMockItem: TIMSecureStorageItem {
4 | var id: String
5 | private (set) var isBioProtected: Bool = false
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
6 |
7 | init(id: String) {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:122:51: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
123 | Future { promise in
124 | self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:128:68: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
126 | }
127 |
128 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
129 | Future { promise in
130 | self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:134:39: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
132 | }
133 |
134 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
135 | Future { promise in
136 | self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:34:51: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
32 | /// Combine wrapper for `getKey` function.
33 | @available(iOS 13, *)
34 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
35 |
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:38:68: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
37 | @available(iOS 13, *)
38 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
39 |
40 | /// Combine wrapper for `createKey` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:42:39: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
40 | /// Combine wrapper for `createKey` function.
41 | @available(iOS 13, *)
42 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
43 | #endif
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:145:77: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 | func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
146 | Future { promise in
147 | self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:152:81: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
150 |
151 | /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 | func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
153 | Future { promise in
154 | self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:159:72: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
157 |
158 | /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 | func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
160 | Future { promise in
161 | self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:166:137: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
164 |
165 | /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 | func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
167 | Future { promise in
168 | self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:173:84: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
171 |
172 | /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 | func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
174 | Future { promise in
175 | self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:180:63: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
178 |
179 | /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 | func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
181 | Future { promise in
182 | self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:187:123: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
185 |
186 | /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 | func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
188 | Future { promise in
189 | self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:194:60: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
192 |
193 | /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 | func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
195 | Future { promise in
196 | self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
[3/23] Compiling TIMEncryptedStorage CBC.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:12:35: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:13:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
15 | if let encryptedContent = sealedData.combined {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:14:44: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | if let encryptedContent = sealedData.combined {
16 | return encryptedContent
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:24:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:26:47: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
28 | } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:27:38: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
28 | } catch let error {
29 | throw TIMEncryptedStorageError.failedToDecryptData(error)
[4/23] Compiling TIMEncryptedStorage GCM.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:12:35: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:13:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
15 | if let encryptedContent = sealedData.combined {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:14:44: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | if let encryptedContent = sealedData.combined {
16 | return encryptedContent
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:24:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:26:47: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
28 | } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:27:38: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
28 | } catch let error {
29 | throw TIMEncryptedStorageError.failedToDecryptData(error)
[5/23] Compiling TIMEncryptedStorage TIMESCryptor.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:12:35: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:13:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
15 | if let encryptedContent = sealedData.combined {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:14:44: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
12 | let nonce = CryptoKit.AES.GCM.Nonce()
13 | let symmetricKey = SymmetricKey(data: key)
14 | let sealedData = try CryptoKit.AES.GCM.seal(data, using: symmetricKey, nonce: nonce)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | if let encryptedContent = sealedData.combined {
16 | return encryptedContent
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:24:32: error: 'SymmetricKey' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
| |- error: 'SymmetricKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:26:47: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
28 | } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Cryptors/AES/GCM.swift:27:38: error: 'AES' is only available in macOS 10.15 or newer
7 | #if canImport(CryptoKit)
8 | @available(iOS 13, *)
9 | struct GCM {
| `- note: add @available attribute to enclosing struct
10 | @available(iOS 13, *)
11 | static func encrypt(key: Data, data: Data) throws -> Data {
:
21 |
22 | @available(iOS 13, *)
23 | static func decrypt(key: Data, data: Data) throws -> Data {
| `- note: add @available attribute to enclosing static method
24 | let symmetricKey = SymmetricKey(data: key)
25 | do {
26 | let sealedBox = try CryptoKit.AES.GCM.SealedBox(combined: data)
27 | return try CryptoKit.AES.GCM.open(sealedBox, using: symmetricKey)
| |- error: 'AES' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
28 | } catch let error {
29 | throw TIMEncryptedStorageError.failedToDecryptData(error)
[6/23] Compiling TIMEncryptedStorage IVGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/SecureStorageMock.swift:5:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
3 | struct SecureStorageMockItem: TIMSecureStorageItem {
4 | var id: String
5 | private (set) var isBioProtected: Bool = false
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
6 |
7 | init(id: String) {
[7/23] Compiling TIMEncryptedStorage SecureStorageMock.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/Helpers/Test/SecureStorageMock.swift:5:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
3 | struct SecureStorageMockItem: TIMSecureStorageItem {
4 | var id: String
5 | private (set) var isBioProtected: Bool = false
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
6 |
7 | init(id: String) {
[8/23] Compiling TIMEncryptedStorage TIMESBiometricEnableResult.swift
[9/23] Compiling TIMEncryptedStorage TIMESEncryptionMethod.swift
[10/23] Compiling TIMEncryptedStorage TIMKeychainStoreItem.swift
[11/23] Compiling TIMEncryptedStorage TIMSecureStorage.swift
[12/23] Compiling TIMEncryptedStorage TIMESKeyCreationResult.swift
[13/23] Compiling TIMEncryptedStorage TIMErrorModels.swift
[14/23] Compiling TIMEncryptedStorage OSStatus+Extensions.swift
[15/23] Compiling TIMEncryptedStorage TIMKeyModel+Extensions.swift
[16/23] Compiling TIMEncryptedStorage URLSession+Extensions.swift
[17/23] Compiling TIMEncryptedStorage URLSessionMockProtocol.swift
[18/23] Compiling TIMEncryptedStorage TIMKeyServiceModels.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:122:51: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
123 | Future { promise in
124 | self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:128:68: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
126 | }
127 |
128 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
129 | Future { promise in
130 | self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:134:39: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
132 | }
133 |
134 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
135 | Future { promise in
136 | self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:123:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
123 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
124 | self.getKey(secret: secret, keyId: keyId, completion: promise)
125 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:129:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
126 | }
127 |
128 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
129 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
130 | self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
131 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:135:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
132 | }
133 |
134 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
135 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
136 | self.createKey(secret: secret, completion: promise)
137 | }
[19/23] Compiling TIMEncryptedStorage TIMKeyService.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:122:51: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
123 | Future { promise in
124 | self.getKey(secret: secret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:128:68: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
126 | }
127 |
128 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
129 | Future { promise in
130 | self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:134:39: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
132 | }
133 |
134 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
135 | Future { promise in
136 | self.createKey(secret: secret, completion: promise)
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:123:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
123 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
124 | self.getKey(secret: secret, keyId: keyId, completion: promise)
125 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:129:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
126 | }
127 |
128 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
129 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
130 | self.getKeyViaLongSecret(longSecret: longSecret, keyId: keyId, completion: promise)
131 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyService.swift:135:9: error: 'Future' is only available in macOS 10.15 or newer
118 | // MARK: - New Combine wrappers 🥳
119 | @available(iOS 13, *)
120 | public extension TIMKeyService {
| `- note: add @available attribute to enclosing extension
121 |
122 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
:
132 | }
133 |
134 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError> {
| `- note: add @available attribute to enclosing instance method
135 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
136 | self.createKey(secret: secret, completion: promise)
137 | }
[20/23] Compiling TIMEncryptedStorage TIMKeyServiceProtocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:34:51: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
32 | /// Combine wrapper for `getKey` function.
33 | @available(iOS 13, *)
34 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
35 |
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:38:68: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
37 | @available(iOS 13, *)
38 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
39 |
40 | /// Combine wrapper for `createKey` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:42:39: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
40 | /// Combine wrapper for `createKey` function.
41 | @available(iOS 13, *)
42 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
43 | #endif
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychain.swift:28:30: error: 'biometryAny' is only available in macOS 10.13.4 or newer
5 | /// This wrapper is mainly for use internally in the TIMEncryptedStorage packages,
6 | /// but it might come in handy as public in rare cases.
7 | public final class TIMKeychain : TIMSecureStorage {
| `- note: add @available attribute to enclosing class
8 |
9 | public init() {
:
23 | }
24 |
25 | public func storeBiometricProtected(data: Data, item: TIMKeychainStorageItem) -> Result<Void, TIMSecureStorageError> {
| `- note: add @available attribute to enclosing instance method
26 | let biometricFlag: SecAccessControlCreateFlags
27 | if #available(iOS 11.3, *) {
28 | biometricFlag = .biometryAny
| |- error: 'biometryAny' is only available in macOS 10.13.4 or newer
| `- note: add 'if #available' version check
29 | } else {
30 | biometricFlag = .touchIDAny
[21/23] Compiling TIMEncryptedStorage TIMKeychain.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:34:51: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
32 | /// Combine wrapper for `getKey` function.
33 | @available(iOS 13, *)
34 | func getKey(secret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
35 |
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:38:68: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
36 | /// Combine wrapper for `getKeyViaLongSecret` function.
37 | @available(iOS 13, *)
38 | func getKeyViaLongSecret(longSecret: String, keyId: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
39 |
40 | /// Combine wrapper for `createKey` function.
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/KeyService/TIMKeyServiceProtocol.swift:42:39: error: 'Future' is only available in macOS 10.15 or newer
8 | ///
9 | /// This protocol mainly exists for testing purposes.
10 | public protocol TIMKeyServiceProtocol {
| `- note: add @available attribute to enclosing protocol
11 | /// Gets a existing encryption key from the key server, by using a `secret`
12 | /// - Parameters:
:
40 | /// Combine wrapper for `createKey` function.
41 | @available(iOS 13, *)
42 | func createKey(secret: String) -> Future<TIMKeyModel, TIMKeyServiceError>
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
43 | #endif
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/Keychain/TIMKeychain.swift:28:30: error: 'biometryAny' is only available in macOS 10.13.4 or newer
5 | /// This wrapper is mainly for use internally in the TIMEncryptedStorage packages,
6 | /// but it might come in handy as public in rare cases.
7 | public final class TIMKeychain : TIMSecureStorage {
| `- note: add @available attribute to enclosing class
8 |
9 | public init() {
:
23 | }
24 |
25 | public func storeBiometricProtected(data: Data, item: TIMKeychainStorageItem) -> Result<Void, TIMSecureStorageError> {
| `- note: add @available attribute to enclosing instance method
26 | let biometricFlag: SecAccessControlCreateFlags
27 | if #available(iOS 11.3, *) {
28 | biometricFlag = .biometryAny
| |- error: 'biometryAny' is only available in macOS 10.13.4 or newer
| `- note: add 'if #available' version check
29 | } else {
30 | biometricFlag = .touchIDAny
[22/23] Compiling TIMEncryptedStorage TIMSecureStorageItem.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:145:77: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 | func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
146 | Future { promise in
147 | self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:152:81: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
150 |
151 | /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 | func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
153 | Future { promise in
154 | self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:159:72: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
157 |
158 | /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 | func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
160 | Future { promise in
161 | self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:166:137: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
164 |
165 | /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 | func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
167 | Future { promise in
168 | self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:173:84: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
171 |
172 | /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 | func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
174 | Future { promise in
175 | self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:180:63: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
178 |
179 | /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 | func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
181 | Future { promise in
182 | self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:187:123: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
185 |
186 | /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 | func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
188 | Future { promise in
189 | self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:194:60: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
192 |
193 | /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 | func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
195 | Future { promise in
196 | self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:146:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 | func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
146 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
147 | self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
148 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:153:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
150 |
151 | /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 | func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
153 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
154 | self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:160:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
157 |
158 | /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 | func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
160 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
161 | self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
162 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:167:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
164 |
165 | /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 | func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
167 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
168 | self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
169 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:174:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
171 |
172 | /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 | func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
174 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
175 | self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
176 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:181:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
178 |
179 | /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 | func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
181 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
182 | self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
183 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:188:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
185 |
186 | /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 | func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
188 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
189 | self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:195:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
192 |
193 | /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 | func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
195 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
196 | self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
197 | }
[23/23] Compiling TIMEncryptedStorage TIMEncryptedStorage.swift
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:145:77: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 | func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
146 | Future { promise in
147 | self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:152:81: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
150 |
151 | /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 | func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
153 | Future { promise in
154 | self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:159:72: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
157 |
158 | /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 | func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
160 | Future { promise in
161 | self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:166:137: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
164 |
165 | /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 | func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
167 | Future { promise in
168 | self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:173:84: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
171 |
172 | /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 | func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
174 | Future { promise in
175 | self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:180:63: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
178 |
179 | /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 | func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
181 | Future { promise in
182 | self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:187:123: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
185 |
186 | /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 | func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
188 | Future { promise in
189 | self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:194:60: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
192 |
193 | /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 | func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| | `- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
195 | Future { promise in
196 | self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:146:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
145 | func store(id: StorageID, data: Data, keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
146 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
147 | self.store(id: id, data: data, keyId: keyId, secret: secret, completion: { promise($0) })
148 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:153:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
150 |
151 | /// Combine wrapper for `store(id:data:keyId:longSecret:completion:)`
152 | func store(id: StorageID, data: Data, keyId: String, longSecret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
153 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
154 | self.store(id: id, data: data, keyId: keyId, longSecret: longSecret, completion: { promise($0) })
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:160:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
157 |
158 | /// Combine wrapper for `storeWithNewKey(id:data:secret:completion:)`
159 | func storeWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
160 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
161 | self.storeWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
162 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:167:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
164 |
165 | /// Combine wrapper for `storeViaBiometric(id:data:keyId:willBeginNetworkRequests:completion:)`
166 | func storeViaBiometric(id: StorageID, data: Data, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
167 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
168 | self.storeViaBiometric(id: id, data: data, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
169 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:174:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
171 |
172 | /// Combine wrapper for `storeViaBiometricWithNewKey(id:data:secret:completion:)`
173 | func storeViaBiometricWithNewKey(id: StorageID, data: Data, secret: String) -> Future<TIMESKeyCreationResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
174 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
175 | self.storeViaBiometricWithNewKey(id: id, data: data, secret: secret, completion: { promise($0) })
176 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:181:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
178 |
179 | /// Combine wrapper for `get(id:keyId:secret:completion:)`
180 | func get(id: StorageID, keyId: String, secret: String) -> Future<Data, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
181 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
182 | self.get(id: id, keyId: keyId, secret: secret, completion: { promise($0) })
183 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:188:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
185 |
186 | /// Combine wrapper for `getViaBiometric(id:keyId:willBeginNetworkRequests:completion:)`
187 | func getViaBiometric(id: StorageID, keyId: String, willBeginNetworkRequests: TIMESWillBeginNetworkRequests? = nil) -> Future<TIMESBiometricLoadResult, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
188 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
189 | self.getViaBiometric(id: id, keyId: keyId, willBeginNetworkRequests: willBeginNetworkRequests, completion: { promise($0) })
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/TIMEncryptedStorage/TIM/TIMEncryptedStorage.swift:195:9: error: 'Future' is only available in macOS 10.15 or newer
140 | // MARK: - New Combine wrappers 🥳
141 | @available(iOS 13, *)
142 | public extension TIMEncryptedStorage {
| `- note: add @available attribute to enclosing extension
143 |
144 | /// Combine wrapper for `store(id:data:keyId:secret:completion:)`
:
192 |
193 | /// Combine wrapper for `enableBiometric(keyId:secret:completion:)`
194 | func enableBiometric(keyId: String, secret: String) -> Future<Void, TIMEncryptedStorageError> {
| `- note: add @available attribute to enclosing instance method
195 | Future { promise in
| |- error: 'Future' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
196 | self.enableBiometric(keyId: keyId, secret: secret, completion: { promise($0) })
197 | }
BUILD FAILURE 6.1 macosSpm