The Swift Package Index logo.Swift Package Index

Build Information

Failed to build DevKeychain, reference 1.1.0 (e057d6), with Swift 6.3 for Android on 17 Apr 2026 02:13:51 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/DevKitOrganization/DevKeychain.git
Reference: 1.1.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/DevKitOrganization/DevKeychain
 * tag               1.1.0      -> FETCH_HEAD
HEAD is now at e057d63 Require OS 26
Cloned https://github.com/DevKitOrganization/DevKeychain.git
Revision (git rev-parse @):
e057d63e7453b9f6eb19a72c0b51f2d5687fd7df
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/DevKitOrganization/DevKeychain.git at 1.1.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.3
Building package at path:  $PWD
https://github.com/DevKitOrganization/DevKeychain.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:9008270ea37a55e78725e6225015adb5eff8582da520c5232bf0499f32c36dc4
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest
Fetching https://github.com/DevKitOrganization/DevTesting
[1/457] Fetching devtesting
Fetched https://github.com/DevKitOrganization/DevTesting from cache (0.98s)
Computing version for https://github.com/DevKitOrganization/DevTesting
Computed https://github.com/DevKitOrganization/DevTesting at 1.5.0 (1.57s)
Creating working copy for https://github.com/DevKitOrganization/DevTesting
Working copy of https://github.com/DevKitOrganization/DevTesting resolved at 1.5.0
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--4F562202D5529B1.txt
[3/11] Compiling DevKeychain KeychainServicesError.swift
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:13:19: error: cannot find type 'OSStatus' in scope
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |                   `- error: cannot find type 'OSStatus' in scope
14 |
15 |
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:11:8: error: type 'KeychainServicesError' does not conform to protocol 'Hashable'
 9 |
10 | /// An error from the keychain services API.
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
   |        `- error: type 'KeychainServicesError' does not conform to protocol 'Hashable'
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |         `- note: stored property type '_' does not conform to protocol 'Hashable', preventing synthesized conformance of 'KeychainServicesError' to 'Hashable'
14 |
15 |
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:11:8: error: type 'KeychainServicesError' does not conform to protocol 'Equatable'
 9 |
10 | /// An error from the keychain services API.
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
   |        |- error: type 'KeychainServicesError' does not conform to protocol 'Equatable'
   |        `- note: add stubs for conformance
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |         `- note: stored property type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'KeychainServicesError' to 'Equatable'
14 |
15 |
Swift.==:1:24: note: candidate would match if 'KeychainServicesError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'KeychainServicesError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'KeychainServicesError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'KeychainServicesError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'KeychainServicesError' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'KeychainServicesError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(KeychainServicesError, KeychainServicesError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(KeychainServicesError, KeychainServicesError) -> Bool'
3 |
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:17:16: error: cannot find 'SecCopyErrorMessageString' in scope
15 |
16 |     var description: String {
17 |         return SecCopyErrorMessageString(osStatus, nil)
   |                `- error: cannot find 'SecCopyErrorMessageString' in scope
18 |             .map { $0 as String } ?? "Unknown Keychain error: \(osStatus)"
19 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:17:52: error: 'nil' requires a contextual type
15 |
16 |     var description: String {
17 |         return SecCopyErrorMessageString(osStatus, nil)
   |                                                    `- error: 'nil' requires a contextual type
18 |             .map { $0 as String } ?? "Unknown Keychain error: \(osStatus)"
19 |     }
[4/12] Compiling DevKeychain KeychainServices.swift
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:18:46: error: cannot find type 'CFString' in scope
16 |     /// - Parameter attributes: The new keychain item’s attributes.
17 |     /// - Returns: The newly added item.
18 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject?
   |                                              `- error: cannot find type 'CFString' in scope
19 |
20 |     /// Returns keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:23:38: error: cannot find type 'CFString' in scope
21 |     ///
22 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
23 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject?
   |                                      `- error: cannot find type 'CFString' in scope
24 |
25 |     /// Deletes keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:28:49: error: cannot find type 'CFString' in scope
26 |     ///
27 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
28 |     func deleteItems(matchingQuery attributes: [CFString: Any]) throws
   |                                                 `- error: cannot find type 'CFString' in scope
29 | }
30 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:29: error: cannot find type 'CFDictionary' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                             `- error: cannot find type 'CFDictionary' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:64: error: cannot find type 'CFTypeRef' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                `- error: cannot find type 'CFTypeRef' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:81: error: cannot find type 'OSStatus' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                                 `- error: cannot find type 'OSStatus' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:39: error: cannot find type 'CFDictionary' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                       `- error: cannot find type 'CFDictionary' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:74: error: cannot find type 'CFTypeRef' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                          `- error: cannot find type 'CFTypeRef' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:91: error: cannot find type 'OSStatus' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                                           `- error: cannot find type 'OSStatus' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:33: error: cannot find type 'CFDictionary' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                 `- error: cannot find type 'CFDictionary' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:50: error: cannot find type 'OSStatus' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                                  `- error: cannot find type 'OSStatus' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:92: error: cannot find 'SecItemAdd' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                                            `- error: cannot find 'SecItemAdd' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:102: error: cannot find 'SecItemCopyMatching' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                                                      `- error: cannot find 'SecItemCopyMatching' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:61: error: cannot find 'SecItemDelete' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                                             `- error: cannot find 'SecItemDelete' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:53:46: error: cannot find type 'CFString' in scope
51 |
52 |
53 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject? {
   |                                              `- error: cannot find type 'CFString' in scope
54 |         var result: AnyObject?
55 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:65:38: error: cannot find type 'CFString' in scope
63 |
64 |
65 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject? {
   |                                      `- error: cannot find type 'CFString' in scope
66 |         var result: AnyObject?
67 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:80:44: error: cannot find type 'CFString' in scope
78 |
79 |
80 |     func deleteItems(matchingQuery query: [CFString: Any]) throws {
   |                                            `- error: cannot find type 'CFString' in scope
81 |         let osStatus = deleteItems(query as CFDictionary)
82 |         if osStatus != errSecSuccess && osStatus != errSecItemNotFound {
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:56:46: error: cannot find type 'CFDictionary' in scope
54 |         var result: AnyObject?
55 |
56 |         let osStatus = addItem(attributes as CFDictionary, &result)
   |                                              `- error: cannot find type 'CFDictionary' in scope
57 |         guard osStatus == errSecSuccess else {
58 |             throw KeychainServicesError(osStatus: osStatus)
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:57:27: error: cannot find 'errSecSuccess' in scope
55 |
56 |         let osStatus = addItem(attributes as CFDictionary, &result)
57 |         guard osStatus == errSecSuccess else {
   |                           `- error: cannot find 'errSecSuccess' in scope
58 |             throw KeychainServicesError(osStatus: osStatus)
59 |         }
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:13:19: error: cannot find type 'OSStatus' in scope
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |                   `- error: cannot find type 'OSStatus' in scope
14 |
15 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:68:51: error: cannot find type 'CFDictionary' in scope
66 |         var result: AnyObject?
67 |
68 |         let osStatus = copyMatchingItems(query as CFDictionary, &result)
   |                                                   `- error: cannot find type 'CFDictionary' in scope
69 |         switch osStatus {
70 |         case errSecSuccess:
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:70:14: error: cannot find 'errSecSuccess' in scope
68 |         let osStatus = copyMatchingItems(query as CFDictionary, &result)
69 |         switch osStatus {
70 |         case errSecSuccess:
   |              `- error: cannot find 'errSecSuccess' in scope
71 |             return result
72 |         case errSecItemNotFound:
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:72:14: error: cannot find 'errSecItemNotFound' in scope
70 |         case errSecSuccess:
71 |             return result
72 |         case errSecItemNotFound:
   |              `- error: cannot find 'errSecItemNotFound' in scope
73 |             return [] as CFArray
74 |         default:
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:73:26: error: cannot find type 'CFArray' in scope
71 |             return result
72 |         case errSecItemNotFound:
73 |             return [] as CFArray
   |                          `- error: cannot find type 'CFArray' in scope
74 |         default:
75 |             throw KeychainServicesError(osStatus: osStatus)
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:73:23: error: return expression of type '_' expected to be an instance of a class or class-constrained type
71 |             return result
72 |         case errSecItemNotFound:
73 |             return [] as CFArray
   |                       `- error: return expression of type '_' expected to be an instance of a class or class-constrained type
74 |         default:
75 |             throw KeychainServicesError(osStatus: osStatus)
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:81:45: error: cannot find type 'CFDictionary' in scope
79 |
80 |     func deleteItems(matchingQuery query: [CFString: Any]) throws {
81 |         let osStatus = deleteItems(query as CFDictionary)
   |                                             `- error: cannot find type 'CFDictionary' in scope
82 |         if osStatus != errSecSuccess && osStatus != errSecItemNotFound {
83 |             throw KeychainServicesError(osStatus: osStatus)
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:82:24: error: cannot find 'errSecSuccess' in scope
80 |     func deleteItems(matchingQuery query: [CFString: Any]) throws {
81 |         let osStatus = deleteItems(query as CFDictionary)
82 |         if osStatus != errSecSuccess && osStatus != errSecItemNotFound {
   |                        `- error: cannot find 'errSecSuccess' in scope
83 |             throw KeychainServicesError(osStatus: osStatus)
84 |         }
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:82:53: error: cannot find 'errSecItemNotFound' in scope
80 |     func deleteItems(matchingQuery query: [CFString: Any]) throws {
81 |         let osStatus = deleteItems(query as CFDictionary)
82 |         if osStatus != errSecSuccess && osStatus != errSecItemNotFound {
   |                                                     `- error: cannot find 'errSecItemNotFound' in scope
83 |             throw KeychainServicesError(osStatus: osStatus)
84 |         }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/12] Emitting module DevKeychain
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:107:32: error: cannot find type 'CFString' in scope
105 |
106 |         /// A dictionary-representation of the options to pass to the keychain services API.
107 |         var optionDictionary: [CFString: Any] {
    |                                `- error: cannot find type 'CFString' in scope
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemAdditionAttributes.swift:16:32: error: cannot find type 'CFString' in scope
14 |
15 |     /// A dictionary-representation of the new item to pass to the keychain services API.
16 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
17 |
18 |     /// Maps the raw return value from the keychain services API into the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:18:46: error: cannot find type 'CFString' in scope
16 |     /// - Parameter attributes: The new keychain item’s attributes.
17 |     /// - Returns: The newly added item.
18 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject?
   |                                              `- error: cannot find type 'CFString' in scope
19 |
20 |     /// Returns keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:23:38: error: cannot find type 'CFString' in scope
21 |     ///
22 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
23 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject?
   |                                      `- error: cannot find type 'CFString' in scope
24 |
25 |     /// Deletes keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:28:49: error: cannot find type 'CFString' in scope
26 |     ///
27 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
28 |     func deleteItems(matchingQuery attributes: [CFString: Any]) throws
   |                                                 `- error: cannot find type 'CFString' in scope
29 | }
30 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:29: error: cannot find type 'CFDictionary' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                             `- error: cannot find type 'CFDictionary' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:64: error: cannot find type 'CFTypeRef' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                `- error: cannot find type 'CFTypeRef' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:81: error: cannot find type 'OSStatus' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                                 `- error: cannot find type 'OSStatus' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:39: error: cannot find type 'CFDictionary' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                       `- error: cannot find type 'CFDictionary' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:74: error: cannot find type 'CFTypeRef' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                          `- error: cannot find type 'CFTypeRef' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:91: error: cannot find type 'OSStatus' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                                           `- error: cannot find type 'OSStatus' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:33: error: cannot find type 'CFDictionary' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                 `- error: cannot find type 'CFDictionary' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:50: error: cannot find type 'OSStatus' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                                  `- error: cannot find type 'OSStatus' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:92: error: cannot find 'SecItemAdd' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                                            `- error: cannot find 'SecItemAdd' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:102: error: cannot find 'SecItemCopyMatching' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                                                      `- error: cannot find 'SecItemCopyMatching' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:61: error: cannot find 'SecItemDelete' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                                             `- error: cannot find 'SecItemDelete' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:53:46: error: cannot find type 'CFString' in scope
51 |
52 |
53 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject? {
   |                                              `- error: cannot find type 'CFString' in scope
54 |         var result: AnyObject?
55 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:65:38: error: cannot find type 'CFString' in scope
63 |
64 |
65 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject? {
   |                                      `- error: cannot find type 'CFString' in scope
66 |         var result: AnyObject?
67 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:80:44: error: cannot find type 'CFString' in scope
78 |
79 |
80 |     func deleteItems(matchingQuery query: [CFString: Any]) throws {
   |                                            `- error: cannot find type 'CFString' in scope
81 |         let osStatus = deleteItems(query as CFDictionary)
82 |         if osStatus != errSecSuccess && osStatus != errSecItemNotFound {
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:13:19: error: cannot find type 'OSStatus' in scope
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |                   `- error: cannot find type 'OSStatus' in scope
14 |
15 |
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:11:8: error: type 'KeychainServicesError' does not conform to protocol 'Hashable'
 9 |
10 | /// An error from the keychain services API.
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
   |        `- error: type 'KeychainServicesError' does not conform to protocol 'Hashable'
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |         `- note: stored property type '_' does not conform to protocol 'Hashable', preventing synthesized conformance of 'KeychainServicesError' to 'Hashable'
14 |
15 |
/host/spi-builder-workspace/Sources/DevKeychain/Errors/KeychainServicesError.swift:11:8: error: type 'KeychainServicesError' does not conform to protocol 'Equatable'
 9 |
10 | /// An error from the keychain services API.
11 | struct KeychainServicesError: CustomStringConvertible, Error, Hashable {
   |        |- error: type 'KeychainServicesError' does not conform to protocol 'Equatable'
   |        `- note: add stubs for conformance
12 |     /// The underlying `OSStatus` that describes the error.
13 |     let osStatus: OSStatus
   |         `- note: stored property type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'KeychainServicesError' to 'Equatable'
14 |
15 |
Swift.==:1:24: note: candidate would match if 'KeychainServicesError' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate would match if 'KeychainServicesError' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'KeychainServicesError' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'KeychainServicesError' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'KeychainServicesError' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'KeychainServicesError' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'KeychainServicesError' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'SIMD'
3 |
Foundation.__BridgedNSError.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '__BridgedNSError'
1 | protocol __BridgedNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '__BridgedNSError'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to '_BridgedStoredNSError'
3 |
FoundationEssentials.AttributedStringProtocol.==:2:20: note: candidate would match if 'KeychainServicesError' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
  |                    `- note: candidate would match if 'KeychainServicesError' conformed to 'AttributedStringProtocol'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(KeychainServicesError, KeychainServicesError) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '==' with type '(KeychainServicesError, KeychainServicesError) -> Bool'
3 |
/host/spi-builder-workspace/Sources/DevKeychain/Extensions/Dictionary+KeychainItemMapping.swift:10:35: error: cannot find type 'CFString' in scope
 8 | import Foundation
 9 |
10 | extension Dictionary where Key == CFString, Value == Any {
   |                                   `- error: cannot find type 'CFString' in scope
11 |     /// Accesses the value for an attribute of a specified type, throwing errors as appropriate.
12 |     ///
/host/spi-builder-workspace/Sources/DevKeychain/Extensions/Dictionary+KeychainItemMapping.swift:19:51: error: cannot find type 'CFString' in scope
17 |     ///   - attribute: The attribute to find in the dictionary.
18 |     ///   - type: The expected type of the attribute’s value.
19 |     func value<V>(forKeychainAttribute attribute: CFString, type: V.Type) throws -> V {
   |                                                   `- error: cannot find type 'CFString' in scope
20 |         guard let rawValue = self[attribute] else {
21 |             throw KeychainItemMappingError.attributeNotFound(attribute as String)
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:44:23: error: cannot find type 'CFString' in scope
 42 |     ///
 43 |     /// - Parameter attributes: A dictionary of attributes from the keychain services API.
 44 |     init(attributes: [CFString: Any]) throws {
    |                       `- error: cannot find type 'CFString' in scope
 45 |         self.init(
 46 |             service: try attributes.value(forKeychainAttribute: kSecAttrService, type: String.self),
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:98:43: error: cannot find type 'CFString' in scope
 96 |
 97 |
 98 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
 99 |             return [
100 |                 kSecAttrAccount: account,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:149:43: error: cannot find type 'CFString' in scope
147 |
148 |
149 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassGenericPassword,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:167:39: error: cannot find type 'CFString' in scope
165 |
166 |
167 |         public var returnDictionary: [CFString: Any] {
    |                                       `- error: cannot find type 'CFString' in scope
168 |             return [
169 |                 kSecReturnAttributes: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:44:23: error: cannot find type 'CFString' in scope
 42 |     ///
 43 |     /// - Parameter attributes: A dictionary of attributes from the keychain services API.
 44 |     init(attributes: [CFString: Any]) throws {
    |                       `- error: cannot find type 'CFString' in scope
 45 |         self.init(
 46 |             server: try attributes.value(forKeychainAttribute: kSecAttrServer, type: String.self),
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:98:43: error: cannot find type 'CFString' in scope
 96 |
 97 |
 98 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
 99 |             return [
100 |                 kSecAttrAccount: account,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:149:43: error: cannot find type 'CFString' in scope
147 |
148 |
149 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassInternetPassword,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:167:39: error: cannot find type 'CFString' in scope
165 |
166 |
167 |         public var returnDictionary: [CFString: Any] {
    |                                       `- error: cannot find type 'CFString' in scope
168 |             return [
169 |                 kSecReturnAttributes: true,
[6/12] Compiling DevKeychain Keychain.swift
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:107:32: error: cannot find type 'CFString' in scope
105 |
106 |         /// A dictionary-representation of the options to pass to the keychain services API.
107 |         var optionDictionary: [CFString: Any] {
    |                                `- error: cannot find type 'CFString' in scope
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:29: error: cannot find type 'CFDictionary' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                             `- error: cannot find type 'CFDictionary' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:64: error: cannot find type 'CFTypeRef' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                `- error: cannot find type 'CFTypeRef' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:81: error: cannot find type 'OSStatus' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                                 `- error: cannot find type 'OSStatus' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:39: error: cannot find type 'CFDictionary' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                       `- error: cannot find type 'CFDictionary' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:74: error: cannot find type 'CFTypeRef' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                          `- error: cannot find type 'CFTypeRef' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:91: error: cannot find type 'OSStatus' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                                           `- error: cannot find type 'OSStatus' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:33: error: cannot find type 'CFDictionary' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                 `- error: cannot find type 'CFDictionary' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:50: error: cannot find type 'OSStatus' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                                  `- error: cannot find type 'OSStatus' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:18:46: error: cannot find type 'CFString' in scope
16 |     /// - Parameter attributes: The new keychain item’s attributes.
17 |     /// - Returns: The newly added item.
18 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject?
   |                                              `- error: cannot find type 'CFString' in scope
19 |
20 |     /// Returns keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemAdditionAttributes.swift:16:32: error: cannot find type 'CFString' in scope
14 |
15 |     /// A dictionary-representation of the new item to pass to the keychain services API.
16 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
17 |
18 |     /// Maps the raw return value from the keychain services API into the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:23:38: error: cannot find type 'CFString' in scope
21 |     ///
22 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
23 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject?
   |                                      `- error: cannot find type 'CFString' in scope
24 |
25 |     /// Deletes keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:28:49: error: cannot find type 'CFString' in scope
26 |     ///
27 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
28 |     func deleteItems(matchingQuery attributes: [CFString: Any]) throws
   |                                                 `- error: cannot find type 'CFString' in scope
29 | }
30 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:109:17: error: cannot find 'kSecMatchCaseInsensitive' in scope
107 |         var optionDictionary: [CFString: Any] {
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
    |                 `- error: cannot find 'kSecMatchCaseInsensitive' in scope
110 |                 kSecMatchLimit: limit ?? kSecMatchLimitAll,
111 |             ]
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:110:17: error: cannot find 'kSecMatchLimit' in scope
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
110 |                 kSecMatchLimit: limit ?? kSecMatchLimitAll,
    |                 `- error: cannot find 'kSecMatchLimit' in scope
111 |             ]
112 |         }
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:110:42: error: cannot find 'kSecMatchLimitAll' in scope
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
110 |                 kSecMatchLimit: limit ?? kSecMatchLimitAll,
    |                                          `- error: cannot find 'kSecMatchLimitAll' in scope
111 |             ]
112 |         }
[7/12] Compiling DevKeychain KeychainItemAdditionAttributes.swift
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:107:32: error: cannot find type 'CFString' in scope
105 |
106 |         /// A dictionary-representation of the options to pass to the keychain services API.
107 |         var optionDictionary: [CFString: Any] {
    |                                `- error: cannot find type 'CFString' in scope
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:29: error: cannot find type 'CFDictionary' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                             `- error: cannot find type 'CFDictionary' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:64: error: cannot find type 'CFTypeRef' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                `- error: cannot find type 'CFTypeRef' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:40:81: error: cannot find type 'OSStatus' in scope
38 |     ///
39 |     /// By default, this is `SecItemAdd(_:_:)`. It is provided for dependency injection purposes.
40 |     var addItem: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemAdd
   |                                                                                 `- error: cannot find type 'OSStatus' in scope
41 |
42 |     /// A closure to use to copy keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:39: error: cannot find type 'CFDictionary' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                       `- error: cannot find type 'CFDictionary' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:74: error: cannot find type 'CFTypeRef' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                          `- error: cannot find type 'CFTypeRef' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:45:91: error: cannot find type 'OSStatus' in scope
43 |     ///
44 |     /// By default, this is `SecItemCopyMatching(_:_:)`. It is provided for dependency injection purposes.
45 |     var copyMatchingItems: @Sendable (CFDictionary, UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus = SecItemCopyMatching
   |                                                                                           `- error: cannot find type 'OSStatus' in scope
46 |
47 |     /// A closure to use to delete keychain items matching a query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:33: error: cannot find type 'CFDictionary' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                 `- error: cannot find type 'CFDictionary' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:50:50: error: cannot find type 'OSStatus' in scope
48 |     ///
49 |     /// By default, this is `SecItemDelete(_:)`. It is provided for dependency injection purposes.
50 |     var deleteItems: @Sendable (CFDictionary) -> OSStatus = SecItemDelete
   |                                                  `- error: cannot find type 'OSStatus' in scope
51 |
52 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:18:46: error: cannot find type 'CFString' in scope
16 |     /// - Parameter attributes: The new keychain item’s attributes.
17 |     /// - Returns: The newly added item.
18 |     func addItem(withAttributes attributes: [CFString: Any]) throws -> AnyObject?
   |                                              `- error: cannot find type 'CFString' in scope
19 |
20 |     /// Returns keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemAdditionAttributes.swift:16:32: error: cannot find type 'CFString' in scope
14 |
15 |     /// A dictionary-representation of the new item to pass to the keychain services API.
16 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
17 |
18 |     /// Maps the raw return value from the keychain services API into the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:23:38: error: cannot find type 'CFString' in scope
21 |     ///
22 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
23 |     func items(matchingQuery query: [CFString: Any]) throws -> AnyObject?
   |                                      `- error: cannot find type 'CFString' in scope
24 |
25 |     /// Deletes keychain items matching the specified query.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainServices.swift:28:49: error: cannot find type 'CFString' in scope
26 |     ///
27 |     /// - Parameter query: A dictionary containing attributes of items to match as well as search options.
28 |     func deleteItems(matchingQuery attributes: [CFString: Any]) throws
   |                                                 `- error: cannot find type 'CFString' in scope
29 | }
30 |
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:109:17: error: cannot find 'kSecMatchCaseInsensitive' in scope
107 |         var optionDictionary: [CFString: Any] {
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
    |                 `- error: cannot find 'kSecMatchCaseInsensitive' in scope
110 |                 kSecMatchLimit: limit ?? kSecMatchLimitAll,
111 |             ]
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:110:17: error: cannot find 'kSecMatchLimit' in scope
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
110 |                 kSecMatchLimit: limit ?? kSecMatchLimitAll,
    |                 `- error: cannot find 'kSecMatchLimit' in scope
111 |             ]
112 |         }
/host/spi-builder-workspace/Sources/DevKeychain/Core/Keychain.swift:110:42: error: cannot find 'kSecMatchLimitAll' in scope
108 |             return [
109 |                 kSecMatchCaseInsensitive: isCaseInsensitive,
110 |                 kSecMatchLimit: limit ?? kSecMatchLimitAll,
    |                                          `- error: cannot find 'kSecMatchLimitAll' in scope
111 |             ]
112 |         }
[8/12] Compiling DevKeychain KeychainItemQuery.swift
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
[9/12] Compiling DevKeychain KeychainItemMappingError.swift
[10/12] Compiling DevKeychain GenericPassword.swift
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:44:23: error: cannot find type 'CFString' in scope
 42 |     ///
 43 |     /// - Parameter attributes: A dictionary of attributes from the keychain services API.
 44 |     init(attributes: [CFString: Any]) throws {
    |                       `- error: cannot find type 'CFString' in scope
 45 |         self.init(
 46 |             service: try attributes.value(forKeychainAttribute: kSecAttrService, type: String.self),
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:98:43: error: cannot find type 'CFString' in scope
 96 |
 97 |
 98 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
 99 |             return [
100 |                 kSecAttrAccount: account,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemAdditionAttributes.swift:16:32: error: cannot find type 'CFString' in scope
14 |
15 |     /// A dictionary-representation of the new item to pass to the keychain services API.
16 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
17 |
18 |     /// Maps the raw return value from the keychain services API into the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:149:43: error: cannot find type 'CFString' in scope
147 |
148 |
149 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassGenericPassword,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:167:39: error: cannot find type 'CFString' in scope
165 |
166 |
167 |         public var returnDictionary: [CFString: Any] {
    |                                       `- error: cannot find type 'CFString' in scope
168 |             return [
169 |                 kSecReturnAttributes: true,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:46:65: error: cannot find 'kSecAttrService' in scope
 44 |     init(attributes: [CFString: Any]) throws {
 45 |         self.init(
 46 |             service: try attributes.value(forKeychainAttribute: kSecAttrService, type: String.self),
    |                                                                 `- error: cannot find 'kSecAttrService' in scope
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:47:65: error: cannot find 'kSecAttrAccount' in scope
 45 |         self.init(
 46 |             service: try attributes.value(forKeychainAttribute: kSecAttrService, type: String.self),
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
    |                                                                 `- error: cannot find 'kSecAttrAccount' in scope
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
 49 |         )
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:48:62: error: cannot find 'kSecValueData' in scope
 46 |             service: try attributes.value(forKeychainAttribute: kSecAttrService, type: String.self),
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
    |                                                              `- error: cannot find 'kSecValueData' in scope
 49 |         )
 50 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:100:17: error: cannot find 'kSecAttrAccount' in scope
 98 |         public var attributesDictionary: [CFString: Any] {
 99 |             return [
100 |                 kSecAttrAccount: account,
    |                 `- error: cannot find 'kSecAttrAccount' in scope
101 |                 kSecAttrService: service,
102 |                 kSecClass: kSecClassGenericPassword,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:101:17: error: cannot find 'kSecAttrService' in scope
 99 |             return [
100 |                 kSecAttrAccount: account,
101 |                 kSecAttrService: service,
    |                 `- error: cannot find 'kSecAttrService' in scope
102 |                 kSecClass: kSecClassGenericPassword,
103 |                 kSecReturnAttributes: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:102:17: error: cannot find 'kSecClass' in scope
100 |                 kSecAttrAccount: account,
101 |                 kSecAttrService: service,
102 |                 kSecClass: kSecClassGenericPassword,
    |                 `- error: cannot find 'kSecClass' in scope
103 |                 kSecReturnAttributes: true,
104 |                 kSecReturnData: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:102:28: error: cannot find 'kSecClassGenericPassword' in scope
100 |                 kSecAttrAccount: account,
101 |                 kSecAttrService: service,
102 |                 kSecClass: kSecClassGenericPassword,
    |                            `- error: cannot find 'kSecClassGenericPassword' in scope
103 |                 kSecReturnAttributes: true,
104 |                 kSecReturnData: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:103:17: error: cannot find 'kSecReturnAttributes' in scope
101 |                 kSecAttrService: service,
102 |                 kSecClass: kSecClassGenericPassword,
103 |                 kSecReturnAttributes: true,
    |                 `- error: cannot find 'kSecReturnAttributes' in scope
104 |                 kSecReturnData: true,
105 |                 kSecUseDataProtectionKeychain: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:104:17: error: cannot find 'kSecReturnData' in scope
102 |                 kSecClass: kSecClassGenericPassword,
103 |                 kSecReturnAttributes: true,
104 |                 kSecReturnData: true,
    |                 `- error: cannot find 'kSecReturnData' in scope
105 |                 kSecUseDataProtectionKeychain: true,
106 |                 kSecValueData: data,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:105:17: error: cannot find 'kSecUseDataProtectionKeychain' in scope
103 |                 kSecReturnAttributes: true,
104 |                 kSecReturnData: true,
105 |                 kSecUseDataProtectionKeychain: true,
    |                 `- error: cannot find 'kSecUseDataProtectionKeychain' in scope
106 |                 kSecValueData: data,
107 |             ]
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:106:17: error: cannot find 'kSecValueData' in scope
104 |                 kSecReturnData: true,
105 |                 kSecUseDataProtectionKeychain: true,
106 |                 kSecValueData: data,
    |                 `- error: cannot find 'kSecValueData' in scope
107 |             ]
108 |         }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:112:49: error: cannot find type 'CFString' in scope
110 |
111 |         public func mapAddedItem(_ rawItem: AnyObject) throws -> GenericPassword {
112 |             guard let attributes = rawItem as? [CFString: Any] else {
    |                                                 `- error: cannot find type 'CFString' in scope
113 |                 throw KeychainItemMappingError.dataCorrupted
114 |             }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:116:42: error: extra argument 'attributes' in call
114 |             }
115 |
116 |             return try .init(attributes: attributes)
    |                                          `- error: extra argument 'attributes' in call
117 |         }
118 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:116:29: error: missing arguments for parameters 'service', 'account', 'data' in call
  9 |
 10 | /// A generic password keychain item.
 11 | public struct GenericPassword: Hashable, Sendable {
    |               `- note: 'init(service:account:data:)' declared here
 12 |     /// The item’s service.
 13 |     public let service: String
    :
114 |             }
115 |
116 |             return try .init(attributes: attributes)
    |                             `- error: missing arguments for parameters 'service', 'account', 'data' in call
117 |         }
118 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:150:30: error: cannot find type 'CFString' in scope
148 |
149 |         public var attributesDictionary: [CFString: Any] {
150 |             var dictionary: [CFString: Any] = [
    |                              `- error: cannot find type 'CFString' in scope
151 |                 kSecClass: kSecClassGenericPassword,
152 |                 kSecUseDataProtectionKeychain: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:151:17: error: cannot find 'kSecClass' in scope
149 |         public var attributesDictionary: [CFString: Any] {
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassGenericPassword,
    |                 `- error: cannot find 'kSecClass' in scope
152 |                 kSecUseDataProtectionKeychain: true,
153 |             ]
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:151:28: error: cannot find 'kSecClassGenericPassword' in scope
149 |         public var attributesDictionary: [CFString: Any] {
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassGenericPassword,
    |                            `- error: cannot find 'kSecClassGenericPassword' in scope
152 |                 kSecUseDataProtectionKeychain: true,
153 |             ]
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:152:17: error: cannot find 'kSecUseDataProtectionKeychain' in scope
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassGenericPassword,
152 |                 kSecUseDataProtectionKeychain: true,
    |                 `- error: cannot find 'kSecUseDataProtectionKeychain' in scope
153 |             ]
154 |
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:156:28: error: cannot find 'kSecAttrAccount' in scope
154 |
155 |             if let account = account {
156 |                 dictionary[kSecAttrAccount] = account
    |                            `- error: cannot find 'kSecAttrAccount' in scope
157 |             }
158 |
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:160:28: error: cannot find 'kSecAttrService' in scope
158 |
159 |             if let service = service {
160 |                 dictionary[kSecAttrService] = service
    |                            `- error: cannot find 'kSecAttrService' in scope
161 |             }
162 |
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:169:17: error: cannot find 'kSecReturnAttributes' in scope
167 |         public var returnDictionary: [CFString: Any] {
168 |             return [
169 |                 kSecReturnAttributes: true,
    |                 `- error: cannot find 'kSecReturnAttributes' in scope
170 |                 kSecReturnData: true,
171 |             ]
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:170:17: error: cannot find 'kSecReturnData' in scope
168 |             return [
169 |                 kSecReturnAttributes: true,
170 |                 kSecReturnData: true,
    |                 `- error: cannot find 'kSecReturnData' in scope
171 |             ]
172 |         }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:176:36: error: cannot find type 'CFString' in scope
174 |
175 |         public func mapMatchingItems(_ rawItems: AnyObject) throws -> [GenericPassword] {
176 |             let attributesArray: [[CFString: Any]]
    |                                    `- error: cannot find type 'CFString' in scope
177 |
178 |             if let singleItem = rawItems as? [CFString: Any] {
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:178:47: error: cannot find type 'CFString' in scope
176 |             let attributesArray: [[CFString: Any]]
177 |
178 |             if let singleItem = rawItems as? [CFString: Any] {
    |                                               `- error: cannot find type 'CFString' in scope
179 |                 attributesArray = [singleItem]
180 |             } else if let array = rawItems as? [[CFString: Any]] {
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/GenericPassword.swift:180:50: error: cannot find type 'CFString' in scope
178 |             if let singleItem = rawItems as? [CFString: Any] {
179 |                 attributesArray = [singleItem]
180 |             } else if let array = rawItems as? [[CFString: Any]] {
    |                                                  `- error: cannot find type 'CFString' in scope
181 |                 attributesArray = array
182 |             } else {
[11/12] Compiling DevKeychain Dictionary+KeychainItemMapping.swift
/host/spi-builder-workspace/Sources/DevKeychain/Extensions/Dictionary+KeychainItemMapping.swift:10:35: error: cannot find type 'CFString' in scope
 8 | import Foundation
 9 |
10 | extension Dictionary where Key == CFString, Value == Any {
   |                                   `- error: cannot find type 'CFString' in scope
11 |     /// Accesses the value for an attribute of a specified type, throwing errors as appropriate.
12 |     ///
/host/spi-builder-workspace/Sources/DevKeychain/Extensions/Dictionary+KeychainItemMapping.swift:19:51: error: cannot find type 'CFString' in scope
17 |     ///   - attribute: The attribute to find in the dictionary.
18 |     ///   - type: The expected type of the attribute’s value.
19 |     func value<V>(forKeychainAttribute attribute: CFString, type: V.Type) throws -> V {
   |                                                   `- error: cannot find type 'CFString' in scope
20 |         guard let rawValue = self[attribute] else {
21 |             throw KeychainItemMappingError.attributeNotFound(attribute as String)
[12/12] Compiling DevKeychain InternetPassword.swift
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:44:23: error: cannot find type 'CFString' in scope
 42 |     ///
 43 |     /// - Parameter attributes: A dictionary of attributes from the keychain services API.
 44 |     init(attributes: [CFString: Any]) throws {
    |                       `- error: cannot find type 'CFString' in scope
 45 |         self.init(
 46 |             server: try attributes.value(forKeychainAttribute: kSecAttrServer, type: String.self),
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:98:43: error: cannot find type 'CFString' in scope
 96 |
 97 |
 98 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
 99 |             return [
100 |                 kSecAttrAccount: account,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemAdditionAttributes.swift:16:32: error: cannot find type 'CFString' in scope
14 |
15 |     /// A dictionary-representation of the new item to pass to the keychain services API.
16 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
17 |
18 |     /// Maps the raw return value from the keychain services API into the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:149:43: error: cannot find type 'CFString' in scope
147 |
148 |
149 |         public var attributesDictionary: [CFString: Any] {
    |                                           `- error: cannot find type 'CFString' in scope
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassInternetPassword,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:167:39: error: cannot find type 'CFString' in scope
165 |
166 |
167 |         public var returnDictionary: [CFString: Any] {
    |                                       `- error: cannot find type 'CFString' in scope
168 |             return [
169 |                 kSecReturnAttributes: true,
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:20:32: error: cannot find type 'CFString' in scope
18 |     /// `kSecMatchCaseInsensitive` or `kSecMatchLimit`, or item return result keys like `kSecReturnAttributes` or
19 |     /// `kSecReturnData`.
20 |     var attributesDictionary: [CFString: Any] { get }
   |                                `- error: cannot find type 'CFString' in scope
21 |
22 |     /// A dictionary describing how query results should be returned from the keychain services API.
/host/spi-builder-workspace/Sources/DevKeychain/Core/KeychainItemQuery.swift:26:28: error: cannot find type 'CFString' in scope
24 |     /// This dictionary is combined with ``attributesDictionary`` when finding items. It is not used to delete items. It
25 |     /// should only contain item return result keys like `kSecReturnAttributes` or `kSecReturnData`.
26 |     var returnDictionary: [CFString: Any] { get }
   |                            `- error: cannot find type 'CFString' in scope
27 |
28 |     /// Maps the raw return value from the keychain services API into an array of the instance’s `Item` type.
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:46:64: error: cannot find 'kSecAttrServer' in scope
 44 |     init(attributes: [CFString: Any]) throws {
 45 |         self.init(
 46 |             server: try attributes.value(forKeychainAttribute: kSecAttrServer, type: String.self),
    |                                                                `- error: cannot find 'kSecAttrServer' in scope
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:47:65: error: cannot find 'kSecAttrAccount' in scope
 45 |         self.init(
 46 |             server: try attributes.value(forKeychainAttribute: kSecAttrServer, type: String.self),
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
    |                                                                 `- error: cannot find 'kSecAttrAccount' in scope
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
 49 |         )
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:48:62: error: cannot find 'kSecValueData' in scope
 46 |             server: try attributes.value(forKeychainAttribute: kSecAttrServer, type: String.self),
 47 |             account: try attributes.value(forKeychainAttribute: kSecAttrAccount, type: String.self),
 48 |             data: try attributes.value(forKeychainAttribute: kSecValueData, type: Data.self)
    |                                                              `- error: cannot find 'kSecValueData' in scope
 49 |         )
 50 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:100:17: error: cannot find 'kSecAttrAccount' in scope
 98 |         public var attributesDictionary: [CFString: Any] {
 99 |             return [
100 |                 kSecAttrAccount: account,
    |                 `- error: cannot find 'kSecAttrAccount' in scope
101 |                 kSecAttrServer: server,
102 |                 kSecClass: kSecClassInternetPassword,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:101:17: error: cannot find 'kSecAttrServer' in scope
 99 |             return [
100 |                 kSecAttrAccount: account,
101 |                 kSecAttrServer: server,
    |                 `- error: cannot find 'kSecAttrServer' in scope
102 |                 kSecClass: kSecClassInternetPassword,
103 |                 kSecReturnAttributes: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:102:17: error: cannot find 'kSecClass' in scope
100 |                 kSecAttrAccount: account,
101 |                 kSecAttrServer: server,
102 |                 kSecClass: kSecClassInternetPassword,
    |                 `- error: cannot find 'kSecClass' in scope
103 |                 kSecReturnAttributes: true,
104 |                 kSecReturnData: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:102:28: error: cannot find 'kSecClassInternetPassword' in scope
100 |                 kSecAttrAccount: account,
101 |                 kSecAttrServer: server,
102 |                 kSecClass: kSecClassInternetPassword,
    |                            `- error: cannot find 'kSecClassInternetPassword' in scope
103 |                 kSecReturnAttributes: true,
104 |                 kSecReturnData: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:103:17: error: cannot find 'kSecReturnAttributes' in scope
101 |                 kSecAttrServer: server,
102 |                 kSecClass: kSecClassInternetPassword,
103 |                 kSecReturnAttributes: true,
    |                 `- error: cannot find 'kSecReturnAttributes' in scope
104 |                 kSecReturnData: true,
105 |                 kSecUseDataProtectionKeychain: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:104:17: error: cannot find 'kSecReturnData' in scope
102 |                 kSecClass: kSecClassInternetPassword,
103 |                 kSecReturnAttributes: true,
104 |                 kSecReturnData: true,
    |                 `- error: cannot find 'kSecReturnData' in scope
105 |                 kSecUseDataProtectionKeychain: true,
106 |                 kSecValueData: data,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:105:17: error: cannot find 'kSecUseDataProtectionKeychain' in scope
103 |                 kSecReturnAttributes: true,
104 |                 kSecReturnData: true,
105 |                 kSecUseDataProtectionKeychain: true,
    |                 `- error: cannot find 'kSecUseDataProtectionKeychain' in scope
106 |                 kSecValueData: data,
107 |             ]
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:106:17: error: cannot find 'kSecValueData' in scope
104 |                 kSecReturnData: true,
105 |                 kSecUseDataProtectionKeychain: true,
106 |                 kSecValueData: data,
    |                 `- error: cannot find 'kSecValueData' in scope
107 |             ]
108 |         }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:112:49: error: cannot find type 'CFString' in scope
110 |
111 |         public func mapAddedItem(_ rawItem: AnyObject) throws -> InternetPassword {
112 |             guard let attributes = rawItem as? [CFString: Any] else {
    |                                                 `- error: cannot find type 'CFString' in scope
113 |                 throw KeychainItemMappingError.dataCorrupted
114 |             }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:116:42: error: extra argument 'attributes' in call
114 |             }
115 |
116 |             return try .init(attributes: attributes)
    |                                          `- error: extra argument 'attributes' in call
117 |         }
118 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:116:29: error: missing arguments for parameters 'server', 'account', 'data' in call
  9 |
 10 | /// An internet password keychain item.
 11 | public struct InternetPassword: Hashable, Sendable {
    |               `- note: 'init(server:account:data:)' declared here
 12 |     /// The item’s server.
 13 |     public let server: String
    :
114 |             }
115 |
116 |             return try .init(attributes: attributes)
    |                             `- error: missing arguments for parameters 'server', 'account', 'data' in call
117 |         }
118 |     }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:150:30: error: cannot find type 'CFString' in scope
148 |
149 |         public var attributesDictionary: [CFString: Any] {
150 |             var dictionary: [CFString: Any] = [
    |                              `- error: cannot find type 'CFString' in scope
151 |                 kSecClass: kSecClassInternetPassword,
152 |                 kSecUseDataProtectionKeychain: true,
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:151:17: error: cannot find 'kSecClass' in scope
149 |         public var attributesDictionary: [CFString: Any] {
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassInternetPassword,
    |                 `- error: cannot find 'kSecClass' in scope
152 |                 kSecUseDataProtectionKeychain: true,
153 |             ]
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:151:28: error: cannot find 'kSecClassInternetPassword' in scope
149 |         public var attributesDictionary: [CFString: Any] {
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassInternetPassword,
    |                            `- error: cannot find 'kSecClassInternetPassword' in scope
152 |                 kSecUseDataProtectionKeychain: true,
153 |             ]
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:152:17: error: cannot find 'kSecUseDataProtectionKeychain' in scope
150 |             var dictionary: [CFString: Any] = [
151 |                 kSecClass: kSecClassInternetPassword,
152 |                 kSecUseDataProtectionKeychain: true,
    |                 `- error: cannot find 'kSecUseDataProtectionKeychain' in scope
153 |             ]
154 |
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:156:28: error: cannot find 'kSecAttrAccount' in scope
154 |
155 |             if let account = account {
156 |                 dictionary[kSecAttrAccount] = account
    |                            `- error: cannot find 'kSecAttrAccount' in scope
157 |             }
158 |
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:160:28: error: cannot find 'kSecAttrServer' in scope
158 |
159 |             if let server = server {
160 |                 dictionary[kSecAttrServer] = server
    |                            `- error: cannot find 'kSecAttrServer' in scope
161 |             }
162 |
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:169:17: error: cannot find 'kSecReturnAttributes' in scope
167 |         public var returnDictionary: [CFString: Any] {
168 |             return [
169 |                 kSecReturnAttributes: true,
    |                 `- error: cannot find 'kSecReturnAttributes' in scope
170 |                 kSecReturnData: true,
171 |             ]
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:170:17: error: cannot find 'kSecReturnData' in scope
168 |             return [
169 |                 kSecReturnAttributes: true,
170 |                 kSecReturnData: true,
    |                 `- error: cannot find 'kSecReturnData' in scope
171 |             ]
172 |         }
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:176:36: error: cannot find type 'CFString' in scope
174 |
175 |         public func mapMatchingItems(_ rawItems: AnyObject) throws -> [InternetPassword] {
176 |             let attributesArray: [[CFString: Any]]
    |                                    `- error: cannot find type 'CFString' in scope
177 |
178 |             if let singleItem = rawItems as? [CFString: Any] {
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:178:47: error: cannot find type 'CFString' in scope
176 |             let attributesArray: [[CFString: Any]]
177 |
178 |             if let singleItem = rawItems as? [CFString: Any] {
    |                                               `- error: cannot find type 'CFString' in scope
179 |                 attributesArray = [singleItem]
180 |             } else if let array = rawItems as? [[CFString: Any]] {
/host/spi-builder-workspace/Sources/DevKeychain/Keychain Items/InternetPassword.swift:180:50: error: cannot find type 'CFString' in scope
178 |             if let singleItem = rawItems as? [CFString: Any] {
179 |                 attributesArray = [singleItem]
180 |             } else if let array = rawItems as? [[CFString: Any]] {
    |                                                  `- error: cannot find type 'CFString' in scope
181 |                 attributesArray = array
182 |             } else {
BUILD FAILURE 6.3 android