The Swift Package Index logo.Swift Package Index

Build Information

Failed to build KeychainAccess, reference master (723c68), with Swift 6.3 for Wasm on 15 Apr 2026 15:51:39 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/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:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/AlaskaAirlines/keychain.git
Reference: master
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/AlaskaAirlines/keychain
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 723c681 Merge pull request #19 from michaelbabiy/mb/ab#1222434-add-pr-template
Cloned https://github.com/AlaskaAirlines/keychain.git
Revision (git rev-parse @):
723c681cae11eedff25fe100ac0c7ce3f946d43e
SUCCESS checkout https://github.com/AlaskaAirlines/keychain.git at master
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/AlaskaAirlines/keychain.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/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:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:d69f4e7582c319245442d62a08b2d7c7fd5a0c0c69f5d2ef11d1530cd8d3329b
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Framework/KeychainAccess/Info.plist
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/18] Emitting module KeychainAccess
/host/spi-builder-workspace/Framework/KeychainAccess/Common/Errors/KeychainError.swift:30:20: error: cannot find type 'OSStatus' in scope
28 |     ///
29 |     /// For list of **OSStatus** codes, please see https://www.osstatus.com/
30 |     case unhandled(OSStatus)
   |                    `- error: cannot find type 'OSStatus' in scope
31 | }
32 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/CFString+Additions.swift:19:11: error: cannot find type 'CFString' in scope
17 | import Foundation
18 |
19 | extension CFString {
   |           `- error: cannot find type 'CFString' in scope
20 |     /// Convenience variable for returning C string as Swift string.
21 |     var string: String { self as String }
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/Dictionary+Additions.swift:21:23: error: cannot find type 'CFDictionary' in scope
19 | extension Dictionary {
20 |     /// Convenience variable for returning Swift Dictionary as CFDictionary.
21 |     var CFDictionary: CFDictionary { self as CFDictionary }
   |                       `- error: cannot find type 'CFDictionary' in scope
22 | }
23 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/OSStatus+Additions.swift:19:11: error: cannot find type 'OSStatus' in scope
17 | import Foundation
18 |
19 | extension OSStatus {
   |           `- error: cannot find type 'OSStatus' in scope
20 |     /// Returns error message for current OSStatus code, if any.
21 |     ///
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:46:20: error: cannot find type 'CFString' in scope
44 | extension Keychain.AccessLevel {
45 |     /// Returns `self` as the `kSec...` attribute.
46 |     var attribute: CFString {
   |                    `- error: cannot find type 'CFString' in scope
47 |         switch self {
48 |         case .afterFirstUnlock:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Storage.swift:33:20: error: cannot find type 'CFString' in scope
31 | extension Keychain.Storage {
32 |     /// C string value for a given Storage case.
33 |     var kSecClass: CFString {
   |                    `- error: cannot find type 'CFString' in scope
34 |         switch self {
35 |         case .genericPassword:
[4/20] Compiling KeychainAccess Definitions.swift
[5/20] Compiling KeychainAccess Keychain.swift
[6/20] Compiling KeychainAccess Keychain+Configuration.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/Dictionary+Additions.swift:21:23: error: cannot find type 'CFDictionary' in scope
19 | extension Dictionary {
20 |     /// Convenience variable for returning Swift Dictionary as CFDictionary.
21 |     var CFDictionary: CFDictionary { self as CFDictionary }
   |                       `- error: cannot find type 'CFDictionary' in scope
22 | }
23 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:50:22: error: cannot find 'SecItemDelete' in scope
 48 |     func delete(_ item: KeychainItem) throws {
 49 |         let query = try item.query(using: configuration).CFDictionary
 50 |         let status = SecItemDelete(query)
    |                      `- error: cannot find 'SecItemDelete' in scope
 51 |
 52 |         // Throw an error if an unexpected status was returned.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:53:25: error: cannot find 'noErr' in scope
 51 |
 52 |         // Throw an error if an unexpected status was returned.
 53 |         guard status == noErr || status == errSecItemNotFound else {
    |                         `- error: cannot find 'noErr' in scope
 54 |             throw KeychainError.unhandled(status)
 55 |         }
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:53:44: error: cannot find 'errSecItemNotFound' in scope
 51 |
 52 |         // Throw an error if an unexpected status was returned.
 53 |         guard status == noErr || status == errSecItemNotFound else {
    |                                            `- error: cannot find 'errSecItemNotFound' in scope
 54 |             throw KeychainError.unhandled(status)
 55 |         }
/host/spi-builder-workspace/Framework/KeychainAccess/Common/Errors/KeychainError.swift:30:20: error: cannot find type 'OSStatus' in scope
28 |     ///
29 |     /// For list of **OSStatus** codes, please see https://www.osstatus.com/
30 |     case unhandled(OSStatus)
   |                    `- error: cannot find type 'OSStatus' in scope
31 | }
32 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:49:21: warning: no calls to throwing functions occur within 'try' expression
 47 |     // swiftformat:disable propertytypes
 48 |     func delete(_ item: KeychainItem) throws {
 49 |         let query = try item.query(using: configuration).CFDictionary
    |                     `- warning: no calls to throwing functions occur within 'try' expression
 50 |         let status = SecItemDelete(query)
 51 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:77:22: error: cannot find 'SecItemAdd' in scope
 75 |         // Add new item, store the result.
 76 |         let query = try item.query(using: configuration).CFDictionary
 77 |         let status = SecItemAdd(query, nil)
    |                      `- error: cannot find 'SecItemAdd' in scope
 78 |
 79 |         // Throw an error if an unexpected status was returned.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:77:40: error: 'nil' requires a contextual type
 75 |         // Add new item, store the result.
 76 |         let query = try item.query(using: configuration).CFDictionary
 77 |         let status = SecItemAdd(query, nil)
    |                                        `- error: 'nil' requires a contextual type
 78 |
 79 |         // Throw an error if an unexpected status was returned.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:80:25: error: cannot find 'noErr' in scope
 78 |
 79 |         // Throw an error if an unexpected status was returned.
 80 |         guard status == noErr else {
    |                         `- error: cannot find 'noErr' in scope
 81 |             throw KeychainError.unhandled(status)
 82 |         }
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:76:21: warning: no calls to throwing functions occur within 'try' expression
 74 |
 75 |         // Add new item, store the result.
 76 |         let query = try item.query(using: configuration).CFDictionary
    |                     `- warning: no calls to throwing functions occur within 'try' expression
 77 |         let status = SecItemAdd(query, nil)
 78 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:102:13: error: cannot find 'SecItemCopyMatching' in scope
100 |         var result: AnyObject?
101 |         let status = withUnsafeMutablePointer(to: &result) {
102 |             SecItemCopyMatching(query.CFDictionary, UnsafeMutablePointer($0))
    |             `- error: cannot find 'SecItemCopyMatching' in scope
103 |         }
104 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:106:25: error: cannot find 'errSecItemNotFound' in scope
104 |
105 |         // If no items were found, return an empty array.
106 |         guard status != errSecItemNotFound else {
    |                         `- error: cannot find 'errSecItemNotFound' in scope
107 |             return nil
108 |         }
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:111:25: error: cannot find 'noErr' in scope
109 |
110 |         // Throw an error if an unexpected status was returned.
111 |         guard status == noErr else {
    |                         `- error: cannot find 'noErr' in scope
112 |             throw KeychainError.unhandled(status)
113 |         }
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:122:33: error: cannot find 'kSecValueData' in scope
120 |         // Convert an array of dictionaries into an array of T.
121 |         return try results.compactMap {
122 |             guard let data = $0[kSecValueData.string] as? Data else {
    |                                 `- error: cannot find 'kSecValueData' in scope
123 |                 return nil
124 |             }
[7/20] Compiling KeychainAccess Keychain+Manager.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/Dictionary+Additions.swift:21:23: error: cannot find type 'CFDictionary' in scope
19 | extension Dictionary {
20 |     /// Convenience variable for returning Swift Dictionary as CFDictionary.
21 |     var CFDictionary: CFDictionary { self as CFDictionary }
   |                       `- error: cannot find type 'CFDictionary' in scope
22 | }
23 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:50:22: error: cannot find 'SecItemDelete' in scope
 48 |     func delete(_ item: KeychainItem) throws {
 49 |         let query = try item.query(using: configuration).CFDictionary
 50 |         let status = SecItemDelete(query)
    |                      `- error: cannot find 'SecItemDelete' in scope
 51 |
 52 |         // Throw an error if an unexpected status was returned.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:53:25: error: cannot find 'noErr' in scope
 51 |
 52 |         // Throw an error if an unexpected status was returned.
 53 |         guard status == noErr || status == errSecItemNotFound else {
    |                         `- error: cannot find 'noErr' in scope
 54 |             throw KeychainError.unhandled(status)
 55 |         }
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:53:44: error: cannot find 'errSecItemNotFound' in scope
 51 |
 52 |         // Throw an error if an unexpected status was returned.
 53 |         guard status == noErr || status == errSecItemNotFound else {
    |                                            `- error: cannot find 'errSecItemNotFound' in scope
 54 |             throw KeychainError.unhandled(status)
 55 |         }
/host/spi-builder-workspace/Framework/KeychainAccess/Common/Errors/KeychainError.swift:30:20: error: cannot find type 'OSStatus' in scope
28 |     ///
29 |     /// For list of **OSStatus** codes, please see https://www.osstatus.com/
30 |     case unhandled(OSStatus)
   |                    `- error: cannot find type 'OSStatus' in scope
31 | }
32 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:49:21: warning: no calls to throwing functions occur within 'try' expression
 47 |     // swiftformat:disable propertytypes
 48 |     func delete(_ item: KeychainItem) throws {
 49 |         let query = try item.query(using: configuration).CFDictionary
    |                     `- warning: no calls to throwing functions occur within 'try' expression
 50 |         let status = SecItemDelete(query)
 51 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:77:22: error: cannot find 'SecItemAdd' in scope
 75 |         // Add new item, store the result.
 76 |         let query = try item.query(using: configuration).CFDictionary
 77 |         let status = SecItemAdd(query, nil)
    |                      `- error: cannot find 'SecItemAdd' in scope
 78 |
 79 |         // Throw an error if an unexpected status was returned.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:77:40: error: 'nil' requires a contextual type
 75 |         // Add new item, store the result.
 76 |         let query = try item.query(using: configuration).CFDictionary
 77 |         let status = SecItemAdd(query, nil)
    |                                        `- error: 'nil' requires a contextual type
 78 |
 79 |         // Throw an error if an unexpected status was returned.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:80:25: error: cannot find 'noErr' in scope
 78 |
 79 |         // Throw an error if an unexpected status was returned.
 80 |         guard status == noErr else {
    |                         `- error: cannot find 'noErr' in scope
 81 |             throw KeychainError.unhandled(status)
 82 |         }
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:76:21: warning: no calls to throwing functions occur within 'try' expression
 74 |
 75 |         // Add new item, store the result.
 76 |         let query = try item.query(using: configuration).CFDictionary
    |                     `- warning: no calls to throwing functions occur within 'try' expression
 77 |         let status = SecItemAdd(query, nil)
 78 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:102:13: error: cannot find 'SecItemCopyMatching' in scope
100 |         var result: AnyObject?
101 |         let status = withUnsafeMutablePointer(to: &result) {
102 |             SecItemCopyMatching(query.CFDictionary, UnsafeMutablePointer($0))
    |             `- error: cannot find 'SecItemCopyMatching' in scope
103 |         }
104 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:106:25: error: cannot find 'errSecItemNotFound' in scope
104 |
105 |         // If no items were found, return an empty array.
106 |         guard status != errSecItemNotFound else {
    |                         `- error: cannot find 'errSecItemNotFound' in scope
107 |             return nil
108 |         }
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:111:25: error: cannot find 'noErr' in scope
109 |
110 |         // Throw an error if an unexpected status was returned.
111 |         guard status == noErr else {
    |                         `- error: cannot find 'noErr' in scope
112 |             throw KeychainError.unhandled(status)
113 |         }
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Manager.swift:122:33: error: cannot find 'kSecValueData' in scope
120 |         // Convert an array of dictionaries into an array of T.
121 |         return try results.compactMap {
122 |             guard let data = $0[kSecValueData.string] as? Data else {
    |                                 `- error: cannot find 'kSecValueData' in scope
123 |                 return nil
124 |             }
[8/20] Compiling KeychainAccess KeychainItem+Implementation.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:28:15: error: cannot find 'kSecClass' in scope
26 |     func query(using configuration: Keychain.Configuration) throws -> KeychainQuery {
27 |         var query: KeychainQuery = .init()
28 |         query[kSecClass.string] = Self.storage.kSecClass
   |               `- error: cannot find 'kSecClass' in scope
29 |         query[kSecAttrAccessible.string] = configuration.access.attribute
30 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Storage.swift:33:20: error: cannot find type 'CFString' in scope
31 | extension Keychain.Storage {
32 |     /// C string value for a given Storage case.
33 |     var kSecClass: CFString {
   |                    `- error: cannot find type 'CFString' in scope
34 |         switch self {
35 |         case .genericPassword:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:29:15: error: cannot find 'kSecAttrAccessible' in scope
27 |         var query: KeychainQuery = .init()
28 |         query[kSecClass.string] = Self.storage.kSecClass
29 |         query[kSecAttrAccessible.string] = configuration.access.attribute
   |               `- error: cannot find 'kSecAttrAccessible' in scope
30 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
31 |         query[kSecAttrType.string] = Self.typeKey.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:46:20: error: cannot find type 'CFString' in scope
44 | extension Keychain.AccessLevel {
45 |     /// Returns `self` as the `kSec...` attribute.
46 |     var attribute: CFString {
   |                    `- error: cannot find type 'CFString' in scope
47 |         switch self {
48 |         case .afterFirstUnlock:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:30:15: error: cannot find 'kSecAttrSynchronizable' in scope
28 |         query[kSecClass.string] = Self.storage.kSecClass
29 |         query[kSecAttrAccessible.string] = configuration.access.attribute
30 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
   |               `- error: cannot find 'kSecAttrSynchronizable' in scope
31 |         query[kSecAttrType.string] = Self.typeKey.object
32 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:31:15: error: cannot find 'kSecAttrType' in scope
29 |         query[kSecAttrAccessible.string] = configuration.access.attribute
30 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
31 |         query[kSecAttrType.string] = Self.typeKey.object
   |               `- error: cannot find 'kSecAttrType' in scope
32 |
33 |         query[kSecAttrAccount.string] = idKey.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:33:15: error: cannot find 'kSecAttrAccount' in scope
31 |         query[kSecAttrType.string] = Self.typeKey.object
32 |
33 |         query[kSecAttrAccount.string] = idKey.object
   |               `- error: cannot find 'kSecAttrAccount' in scope
34 |         query[kSecAttrComment.string] = comment?.object
35 |         query[kSecAttrDescription.string] = description?.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:34:15: error: cannot find 'kSecAttrComment' in scope
32 |
33 |         query[kSecAttrAccount.string] = idKey.object
34 |         query[kSecAttrComment.string] = comment?.object
   |               `- error: cannot find 'kSecAttrComment' in scope
35 |         query[kSecAttrDescription.string] = description?.object
36 |         query[kSecValueData.string] = try data().object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:35:15: error: cannot find 'kSecAttrDescription' in scope
33 |         query[kSecAttrAccount.string] = idKey.object
34 |         query[kSecAttrComment.string] = comment?.object
35 |         query[kSecAttrDescription.string] = description?.object
   |               `- error: cannot find 'kSecAttrDescription' in scope
36 |         query[kSecValueData.string] = try data().object
37 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:36:15: error: cannot find 'kSecValueData' in scope
34 |         query[kSecAttrComment.string] = comment?.object
35 |         query[kSecAttrDescription.string] = description?.object
36 |         query[kSecValueData.string] = try data().object
   |               `- error: cannot find 'kSecValueData' in scope
37 |
38 |         // Values from configuration.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:39:15: error: cannot find 'kSecAttrService' in scope
37 |
38 |         // Values from configuration.
39 |         query[kSecAttrService.string] = configuration.serviceName.object
   |               `- error: cannot find 'kSecAttrService' in scope
40 |         query[kSecAttrAccessGroup.string] = configuration.accessGroup?.object
41 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:40:15: error: cannot find 'kSecAttrAccessGroup' in scope
38 |         // Values from configuration.
39 |         query[kSecAttrService.string] = configuration.serviceName.object
40 |         query[kSecAttrAccessGroup.string] = configuration.accessGroup?.object
   |               `- error: cannot find 'kSecAttrAccessGroup' in scope
41 |
42 |         return query
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:53:15: error: cannot find 'kSecClass' in scope
51 |     static func query(using configuration: Keychain.Configuration) throws -> KeychainQuery {
52 |         var query: KeychainQuery = .init()
53 |         query[kSecClass.string] = Self.storage.kSecClass
   |               `- error: cannot find 'kSecClass' in scope
54 |         query[kSecAttrAccessible.string] = configuration.access.attribute
55 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:54:15: error: cannot find 'kSecAttrAccessible' in scope
52 |         var query: KeychainQuery = .init()
53 |         query[kSecClass.string] = Self.storage.kSecClass
54 |         query[kSecAttrAccessible.string] = configuration.access.attribute
   |               `- error: cannot find 'kSecAttrAccessible' in scope
55 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
56 |         query[kSecAttrType.string] = Self.typeKey.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:55:15: error: cannot find 'kSecAttrSynchronizable' in scope
53 |         query[kSecClass.string] = Self.storage.kSecClass
54 |         query[kSecAttrAccessible.string] = configuration.access.attribute
55 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
   |               `- error: cannot find 'kSecAttrSynchronizable' in scope
56 |         query[kSecAttrType.string] = Self.typeKey.object
57 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:56:15: error: cannot find 'kSecAttrType' in scope
54 |         query[kSecAttrAccessible.string] = configuration.access.attribute
55 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
56 |         query[kSecAttrType.string] = Self.typeKey.object
   |               `- error: cannot find 'kSecAttrType' in scope
57 |
58 |         // Values from configuration.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:59:15: error: cannot find 'kSecAttrService' in scope
57 |
58 |         // Values from configuration.
59 |         query[kSecAttrService.string] = configuration.serviceName.object
   |               `- error: cannot find 'kSecAttrService' in scope
60 |         query[kSecAttrAccessGroup.string] = configuration.accessGroup?.object
61 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:60:15: error: cannot find 'kSecAttrAccessGroup' in scope
58 |         // Values from configuration.
59 |         query[kSecAttrService.string] = configuration.serviceName.object
60 |         query[kSecAttrAccessGroup.string] = configuration.accessGroup?.object
   |               `- error: cannot find 'kSecAttrAccessGroup' in scope
61 |
62 |         // Additional values.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:63:15: error: cannot find 'kSecMatchLimit' in scope
61 |
62 |         // Additional values.
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
   |               `- error: cannot find 'kSecMatchLimit' in scope
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
65 |         query[kSecReturnData.string] = kCFBooleanTrue
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:63:40: error: cannot find 'kSecMatchLimitAll' in scope
61 |
62 |         // Additional values.
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
   |                                        `- error: cannot find 'kSecMatchLimitAll' in scope
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
65 |         query[kSecReturnData.string] = kCFBooleanTrue
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:64:15: error: cannot find 'kSecReturnAttributes' in scope
62 |         // Additional values.
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
   |               `- error: cannot find 'kSecReturnAttributes' in scope
65 |         query[kSecReturnData.string] = kCFBooleanTrue
66 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:64:46: error: cannot find 'kCFBooleanTrue' in scope
62 |         // Additional values.
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
   |                                              `- error: cannot find 'kCFBooleanTrue' in scope
65 |         query[kSecReturnData.string] = kCFBooleanTrue
66 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:65:15: error: cannot find 'kSecReturnData' in scope
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
65 |         query[kSecReturnData.string] = kCFBooleanTrue
   |               `- error: cannot find 'kSecReturnData' in scope
66 |
67 |         return query
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:65:40: error: cannot find 'kCFBooleanTrue' in scope
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
65 |         query[kSecReturnData.string] = kCFBooleanTrue
   |                                        `- error: cannot find 'kCFBooleanTrue' in scope
66 |
67 |         return query
[9/20] Compiling KeychainAccess KeychainItem+Query.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:28:15: error: cannot find 'kSecClass' in scope
26 |     func query(using configuration: Keychain.Configuration) throws -> KeychainQuery {
27 |         var query: KeychainQuery = .init()
28 |         query[kSecClass.string] = Self.storage.kSecClass
   |               `- error: cannot find 'kSecClass' in scope
29 |         query[kSecAttrAccessible.string] = configuration.access.attribute
30 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Storage.swift:33:20: error: cannot find type 'CFString' in scope
31 | extension Keychain.Storage {
32 |     /// C string value for a given Storage case.
33 |     var kSecClass: CFString {
   |                    `- error: cannot find type 'CFString' in scope
34 |         switch self {
35 |         case .genericPassword:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:29:15: error: cannot find 'kSecAttrAccessible' in scope
27 |         var query: KeychainQuery = .init()
28 |         query[kSecClass.string] = Self.storage.kSecClass
29 |         query[kSecAttrAccessible.string] = configuration.access.attribute
   |               `- error: cannot find 'kSecAttrAccessible' in scope
30 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
31 |         query[kSecAttrType.string] = Self.typeKey.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:46:20: error: cannot find type 'CFString' in scope
44 | extension Keychain.AccessLevel {
45 |     /// Returns `self` as the `kSec...` attribute.
46 |     var attribute: CFString {
   |                    `- error: cannot find type 'CFString' in scope
47 |         switch self {
48 |         case .afterFirstUnlock:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:30:15: error: cannot find 'kSecAttrSynchronizable' in scope
28 |         query[kSecClass.string] = Self.storage.kSecClass
29 |         query[kSecAttrAccessible.string] = configuration.access.attribute
30 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
   |               `- error: cannot find 'kSecAttrSynchronizable' in scope
31 |         query[kSecAttrType.string] = Self.typeKey.object
32 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:31:15: error: cannot find 'kSecAttrType' in scope
29 |         query[kSecAttrAccessible.string] = configuration.access.attribute
30 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
31 |         query[kSecAttrType.string] = Self.typeKey.object
   |               `- error: cannot find 'kSecAttrType' in scope
32 |
33 |         query[kSecAttrAccount.string] = idKey.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:33:15: error: cannot find 'kSecAttrAccount' in scope
31 |         query[kSecAttrType.string] = Self.typeKey.object
32 |
33 |         query[kSecAttrAccount.string] = idKey.object
   |               `- error: cannot find 'kSecAttrAccount' in scope
34 |         query[kSecAttrComment.string] = comment?.object
35 |         query[kSecAttrDescription.string] = description?.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:34:15: error: cannot find 'kSecAttrComment' in scope
32 |
33 |         query[kSecAttrAccount.string] = idKey.object
34 |         query[kSecAttrComment.string] = comment?.object
   |               `- error: cannot find 'kSecAttrComment' in scope
35 |         query[kSecAttrDescription.string] = description?.object
36 |         query[kSecValueData.string] = try data().object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:35:15: error: cannot find 'kSecAttrDescription' in scope
33 |         query[kSecAttrAccount.string] = idKey.object
34 |         query[kSecAttrComment.string] = comment?.object
35 |         query[kSecAttrDescription.string] = description?.object
   |               `- error: cannot find 'kSecAttrDescription' in scope
36 |         query[kSecValueData.string] = try data().object
37 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:36:15: error: cannot find 'kSecValueData' in scope
34 |         query[kSecAttrComment.string] = comment?.object
35 |         query[kSecAttrDescription.string] = description?.object
36 |         query[kSecValueData.string] = try data().object
   |               `- error: cannot find 'kSecValueData' in scope
37 |
38 |         // Values from configuration.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:39:15: error: cannot find 'kSecAttrService' in scope
37 |
38 |         // Values from configuration.
39 |         query[kSecAttrService.string] = configuration.serviceName.object
   |               `- error: cannot find 'kSecAttrService' in scope
40 |         query[kSecAttrAccessGroup.string] = configuration.accessGroup?.object
41 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:40:15: error: cannot find 'kSecAttrAccessGroup' in scope
38 |         // Values from configuration.
39 |         query[kSecAttrService.string] = configuration.serviceName.object
40 |         query[kSecAttrAccessGroup.string] = configuration.accessGroup?.object
   |               `- error: cannot find 'kSecAttrAccessGroup' in scope
41 |
42 |         return query
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:53:15: error: cannot find 'kSecClass' in scope
51 |     static func query(using configuration: Keychain.Configuration) throws -> KeychainQuery {
52 |         var query: KeychainQuery = .init()
53 |         query[kSecClass.string] = Self.storage.kSecClass
   |               `- error: cannot find 'kSecClass' in scope
54 |         query[kSecAttrAccessible.string] = configuration.access.attribute
55 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:54:15: error: cannot find 'kSecAttrAccessible' in scope
52 |         var query: KeychainQuery = .init()
53 |         query[kSecClass.string] = Self.storage.kSecClass
54 |         query[kSecAttrAccessible.string] = configuration.access.attribute
   |               `- error: cannot find 'kSecAttrAccessible' in scope
55 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
56 |         query[kSecAttrType.string] = Self.typeKey.object
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:55:15: error: cannot find 'kSecAttrSynchronizable' in scope
53 |         query[kSecClass.string] = Self.storage.kSecClass
54 |         query[kSecAttrAccessible.string] = configuration.access.attribute
55 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
   |               `- error: cannot find 'kSecAttrSynchronizable' in scope
56 |         query[kSecAttrType.string] = Self.typeKey.object
57 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:56:15: error: cannot find 'kSecAttrType' in scope
54 |         query[kSecAttrAccessible.string] = configuration.access.attribute
55 |         query[kSecAttrSynchronizable.string] = Self.isSynchronizable.object
56 |         query[kSecAttrType.string] = Self.typeKey.object
   |               `- error: cannot find 'kSecAttrType' in scope
57 |
58 |         // Values from configuration.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:59:15: error: cannot find 'kSecAttrService' in scope
57 |
58 |         // Values from configuration.
59 |         query[kSecAttrService.string] = configuration.serviceName.object
   |               `- error: cannot find 'kSecAttrService' in scope
60 |         query[kSecAttrAccessGroup.string] = configuration.accessGroup?.object
61 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:60:15: error: cannot find 'kSecAttrAccessGroup' in scope
58 |         // Values from configuration.
59 |         query[kSecAttrService.string] = configuration.serviceName.object
60 |         query[kSecAttrAccessGroup.string] = configuration.accessGroup?.object
   |               `- error: cannot find 'kSecAttrAccessGroup' in scope
61 |
62 |         // Additional values.
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:63:15: error: cannot find 'kSecMatchLimit' in scope
61 |
62 |         // Additional values.
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
   |               `- error: cannot find 'kSecMatchLimit' in scope
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
65 |         query[kSecReturnData.string] = kCFBooleanTrue
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:63:40: error: cannot find 'kSecMatchLimitAll' in scope
61 |
62 |         // Additional values.
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
   |                                        `- error: cannot find 'kSecMatchLimitAll' in scope
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
65 |         query[kSecReturnData.string] = kCFBooleanTrue
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:64:15: error: cannot find 'kSecReturnAttributes' in scope
62 |         // Additional values.
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
   |               `- error: cannot find 'kSecReturnAttributes' in scope
65 |         query[kSecReturnData.string] = kCFBooleanTrue
66 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:64:46: error: cannot find 'kCFBooleanTrue' in scope
62 |         // Additional values.
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
   |                                              `- error: cannot find 'kCFBooleanTrue' in scope
65 |         query[kSecReturnData.string] = kCFBooleanTrue
66 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:65:15: error: cannot find 'kSecReturnData' in scope
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
65 |         query[kSecReturnData.string] = kCFBooleanTrue
   |               `- error: cannot find 'kSecReturnData' in scope
66 |
67 |         return query
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/KeychainItem/KeychainItem+Query.swift:65:40: error: cannot find 'kCFBooleanTrue' in scope
63 |         query[kSecMatchLimit.string] = kSecMatchLimitAll
64 |         query[kSecReturnAttributes.string] = kCFBooleanTrue
65 |         query[kSecReturnData.string] = kCFBooleanTrue
   |                                        `- error: cannot find 'kCFBooleanTrue' in scope
66 |
67 |         return query
[10/20] Compiling KeychainAccess Dictionary+Additions.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/Dictionary+Additions.swift:21:23: error: cannot find type 'CFDictionary' in scope
19 | extension Dictionary {
20 |     /// Convenience variable for returning Swift Dictionary as CFDictionary.
21 |     var CFDictionary: CFDictionary { self as CFDictionary }
   |                       `- error: cannot find type 'CFDictionary' in scope
22 | }
23 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/Dictionary+Additions.swift:21:46: error: type-casting operator expects a type on its right-hand side (got: property 'CFDictionary')
19 | extension Dictionary {
20 |     /// Convenience variable for returning Swift Dictionary as CFDictionary.
21 |     var CFDictionary: CFDictionary { self as CFDictionary }
   |         |                                    `- error: type-casting operator expects a type on its right-hand side (got: property 'CFDictionary')
   |         `- note: 'CFDictionary' declared here
22 | }
23 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/OSStatus+Additions.swift:19:11: error: cannot find type 'OSStatus' in scope
17 | import Foundation
18 |
19 | extension OSStatus {
   |           `- error: cannot find type 'OSStatus' in scope
20 |     /// Returns error message for current OSStatus code, if any.
21 |     ///
[11/20] Compiling KeychainAccess OSStatus+Additions.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/Dictionary+Additions.swift:21:23: error: cannot find type 'CFDictionary' in scope
19 | extension Dictionary {
20 |     /// Convenience variable for returning Swift Dictionary as CFDictionary.
21 |     var CFDictionary: CFDictionary { self as CFDictionary }
   |                       `- error: cannot find type 'CFDictionary' in scope
22 | }
23 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/Dictionary+Additions.swift:21:46: error: type-casting operator expects a type on its right-hand side (got: property 'CFDictionary')
19 | extension Dictionary {
20 |     /// Convenience variable for returning Swift Dictionary as CFDictionary.
21 |     var CFDictionary: CFDictionary { self as CFDictionary }
   |         |                                    `- error: type-casting operator expects a type on its right-hand side (got: property 'CFDictionary')
   |         `- note: 'CFDictionary' declared here
22 | }
23 |
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/OSStatus+Additions.swift:19:11: error: cannot find type 'OSStatus' in scope
17 | import Foundation
18 |
19 | extension OSStatus {
   |           `- error: cannot find type 'OSStatus' in scope
20 |     /// Returns error message for current OSStatus code, if any.
21 |     ///
[12/20] Compiling KeychainAccess String+Additions.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:46:20: error: cannot find type 'CFString' in scope
44 | extension Keychain.AccessLevel {
45 |     /// Returns `self` as the `kSec...` attribute.
46 |     var attribute: CFString {
   |                    `- error: cannot find type 'CFString' in scope
47 |         switch self {
48 |         case .afterFirstUnlock:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:49:20: error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
47 |         switch self {
48 |         case .afterFirstUnlock:
49 |             return kSecAttrAccessibleAfterFirstUnlock
   |                    `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
50 |
51 |         case .afterFirstUnlockThisDeviceOnly:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:52:20: error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
50 |
51 |         case .afterFirstUnlockThisDeviceOnly:
52 |             return kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
   |                    `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
53 |
54 |         case .whenPasscodeSetThisDeviceOnly:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:55:20: error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
53 |
54 |         case .whenPasscodeSetThisDeviceOnly:
55 |             return kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly
   |                    `- error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
56 |
57 |         case .whenUnlocked:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:58:20: error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
56 |
57 |         case .whenUnlocked:
58 |             return kSecAttrAccessibleWhenUnlocked
   |                    `- error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
59 |
60 |         case .whenUnlockedThisDeviceOnly:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:61:20: error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
59 |
60 |         case .whenUnlockedThisDeviceOnly:
61 |             return kSecAttrAccessibleWhenUnlockedThisDeviceOnly
   |                    `- error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
62 |         }
63 |     }
[13/20] Compiling KeychainAccess Keychain+AccessLevel.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:46:20: error: cannot find type 'CFString' in scope
44 | extension Keychain.AccessLevel {
45 |     /// Returns `self` as the `kSec...` attribute.
46 |     var attribute: CFString {
   |                    `- error: cannot find type 'CFString' in scope
47 |         switch self {
48 |         case .afterFirstUnlock:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:49:20: error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
47 |         switch self {
48 |         case .afterFirstUnlock:
49 |             return kSecAttrAccessibleAfterFirstUnlock
   |                    `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
50 |
51 |         case .afterFirstUnlockThisDeviceOnly:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:52:20: error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
50 |
51 |         case .afterFirstUnlockThisDeviceOnly:
52 |             return kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
   |                    `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
53 |
54 |         case .whenPasscodeSetThisDeviceOnly:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:55:20: error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
53 |
54 |         case .whenPasscodeSetThisDeviceOnly:
55 |             return kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly
   |                    `- error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
56 |
57 |         case .whenUnlocked:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:58:20: error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
56 |
57 |         case .whenUnlocked:
58 |             return kSecAttrAccessibleWhenUnlocked
   |                    `- error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
59 |
60 |         case .whenUnlockedThisDeviceOnly:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+AccessLevel.swift:61:20: error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
59 |
60 |         case .whenUnlockedThisDeviceOnly:
61 |             return kSecAttrAccessibleWhenUnlockedThisDeviceOnly
   |                    `- error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
62 |         }
63 |     }
[14/20] Compiling KeychainAccess Keychain+SetupOption.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Storage.swift:33:20: error: cannot find type 'CFString' in scope
31 | extension Keychain.Storage {
32 |     /// C string value for a given Storage case.
33 |     var kSecClass: CFString {
   |                    `- error: cannot find type 'CFString' in scope
34 |         switch self {
35 |         case .genericPassword:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Storage.swift:36:20: error: cannot find 'kSecClassGenericPassword' in scope
34 |         switch self {
35 |         case .genericPassword:
36 |             return kSecClassGenericPassword
   |                    `- error: cannot find 'kSecClassGenericPassword' in scope
37 |         }
38 |     }
[15/20] Compiling KeychainAccess Keychain+Storage.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Storage.swift:33:20: error: cannot find type 'CFString' in scope
31 | extension Keychain.Storage {
32 |     /// C string value for a given Storage case.
33 |     var kSecClass: CFString {
   |                    `- error: cannot find type 'CFString' in scope
34 |         switch self {
35 |         case .genericPassword:
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Framework/Keychain/Keychain+Storage.swift:36:20: error: cannot find 'kSecClassGenericPassword' in scope
34 |         switch self {
35 |         case .genericPassword:
36 |             return kSecClassGenericPassword
   |                    `- error: cannot find 'kSecClassGenericPassword' in scope
37 |         }
38 |     }
[16/20] Compiling KeychainAccess KeychainError.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Common/Errors/KeychainError.swift:30:20: error: cannot find type 'OSStatus' in scope
28 |     ///
29 |     /// For list of **OSStatus** codes, please see https://www.osstatus.com/
30 |     case unhandled(OSStatus)
   |                    `- error: cannot find type 'OSStatus' in scope
31 | }
32 |
[17/20] Compiling KeychainAccess KeychainItem.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Common/Errors/KeychainError.swift:30:20: error: cannot find type 'OSStatus' in scope
28 |     ///
29 |     /// For list of **OSStatus** codes, please see https://www.osstatus.com/
30 |     case unhandled(OSStatus)
   |                    `- error: cannot find type 'OSStatus' in scope
31 | }
32 |
[18/20] Compiling KeychainAccess Bool+Additions.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Common/Errors/KeychainError.swift:30:20: error: cannot find type 'OSStatus' in scope
28 |     ///
29 |     /// For list of **OSStatus** codes, please see https://www.osstatus.com/
30 |     case unhandled(OSStatus)
   |                    `- error: cannot find type 'OSStatus' in scope
31 | }
32 |
[19/20] Compiling KeychainAccess CFString+Additions.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/CFString+Additions.swift:19:11: error: cannot find type 'CFString' in scope
17 | import Foundation
18 |
19 | extension CFString {
   |           `- error: cannot find type 'CFString' in scope
20 |     /// Convenience variable for returning C string as Swift string.
21 |     var string: String { self as String }
[20/20] Compiling KeychainAccess Data+Additions.swift
/host/spi-builder-workspace/Framework/KeychainAccess/Extensions/Foundation/CFString+Additions.swift:19:11: error: cannot find type 'CFString' in scope
17 | import Foundation
18 |
19 | extension CFString {
   |           `- error: cannot find type 'CFString' in scope
20 |     /// Convenience variable for returning C string as Swift string.
21 |     var string: String { self as String }
BUILD FAILURE 6.3 wasm