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