The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SwiftKeychainWrapper, reference 4.0.1 (185a31), with Swift 6.1 for Wasm on 28 May 2025 02:16:01 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jrendel/SwiftKeychainWrapper.git
Reference: 4.0.1
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/jrendel/SwiftKeychainWrapper
 * tag               4.0.1      -> FETCH_HEAD
HEAD is now at 185a316 Version bump
Cloned https://github.com/jrendel/SwiftKeychainWrapper.git
Revision (git rev-parse @):
185a3165346a03767101c4f62e9a545a0fe0530f
SUCCESS checkout https://github.com/jrendel/SwiftKeychainWrapper.git at 4.0.1
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/jrendel/SwiftKeychainWrapper.git
https://github.com/jrendel/SwiftKeychainWrapper.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftKeychainWrapper",
  "name" : "SwiftKeychainWrapper",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftKeychainWrapper",
      "targets" : [
        "SwiftKeychainWrapper"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftKeychainWrapperTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftKeychainWrapperTests",
      "path" : "SwiftKeychainWrapperTests",
      "sources" : [
        "KeychainWrapperDefaultWrapperTests.swift",
        "KeychainWrapperDeleteTests.swift",
        "KeychainWrapperPrimitiveValueTests.swift",
        "KeychainWrapperTests.swift",
        "TestObject.swift"
      ],
      "target_dependencies" : [
        "SwiftKeychainWrapper"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftKeychainWrapper",
      "module_type" : "SwiftTarget",
      "name" : "SwiftKeychainWrapper",
      "path" : "SwiftKeychainWrapper",
      "product_memberships" : [
        "SwiftKeychainWrapper"
      ],
      "sources" : [
        "KeychainItemAccessibility.swift",
        "KeychainWrapper.swift",
        "KeychainWrapperSubscript.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.1"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/6] Compiling SwiftKeychainWrapper KeychainWrapperSubscript.swift
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:54:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 52 |
 53 |     /// ServiceName is used for the kSecAttrService property to uniquely identify this keychain accessor. If no service name is specified, KeychainWrapper will default to using the bundleIdentifier.
 54 |     private (set) public var serviceName: String
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:57:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
 57 |     private (set) public var accessGroup: String?
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 58 |
 59 |     private static let defaultServiceName: String = {
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/6] Emitting module SwiftKeychainWrapper
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:31:28: error: cannot find type 'CFString' in scope
 29 |
 30 | protocol KeychainAttrRepresentable {
 31 |     var keychainAttrValue: CFString { get }
    |                            `- error: cannot find type 'CFString' in scope
 32 | }
 33 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:94:69: error: cannot find type 'CFString' in scope
 92 |     case whenUnlockedThisDeviceOnly
 93 |
 94 |     static func accessibilityForAttributeValue(_ keychainAttrValue: CFString) -> KeychainItemAccessibility? {
    |                                                                     `- error: cannot find type 'CFString' in scope
 95 |         for (key, value) in keychainItemAccessibilityLookup {
 96 |             if value == keychainAttrValue {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:105:73: error: cannot find type 'CFString' in scope
103 | }
104 |
105 | private let keychainItemAccessibilityLookup: [KeychainItemAccessibility:CFString] = {
    |                                                                         `- error: cannot find type 'CFString' in scope
106 |     var lookup: [KeychainItemAccessibility:CFString] = [
107 |         .afterFirstUnlock: kSecAttrAccessibleAfterFirstUnlock,
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:120:37: error: cannot find type 'CFString' in scope
118 |
119 | extension KeychainItemAccessibility : KeychainAttrRepresentable {
120 |     internal var keychainAttrValue: CFString {
    |                                     `- error: cannot find type 'CFString' in scope
121 |         return keychainItemAccessibilityLookup[self]!
122 |     }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:54:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 52 |
 53 |     /// ServiceName is used for the kSecAttrService property to uniquely identify this keychain accessor. If no service name is specified, KeychainWrapper will default to using the bundleIdentifier.
 54 |     private (set) public var serviceName: String
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:57:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
 57 |     private (set) public var accessGroup: String?
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 58 |
 59 |     private static let defaultServiceName: String = {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:31:38: error: cannot find 'kSecMatchLimit' in scope
 29 |
 30 |
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
    |                                      `- error: cannot find 'kSecMatchLimit' in scope
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:32:38: error: cannot find 'kSecReturnData' in scope
 30 |
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
 32 | private let SecReturnData: String! = kSecReturnData as String
    |                                      `- error: cannot find 'kSecReturnData' in scope
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:33:47: error: cannot find 'kSecReturnPersistentRef' in scope
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
    |                                               `- error: cannot find 'kSecReturnPersistentRef' in scope
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:34:37: error: cannot find 'kSecValueData' in scope
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
    |                                     `- error: cannot find 'kSecValueData' in scope
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:35:42: error: cannot find 'kSecAttrAccessible' in scope
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
    |                                          `- error: cannot find 'kSecAttrAccessible' in scope
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:36:33: error: cannot find 'kSecClass' in scope
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
    |                                 `- error: cannot find 'kSecClass' in scope
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:37:39: error: cannot find 'kSecAttrService' in scope
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
    |                                       `- error: cannot find 'kSecAttrService' in scope
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:38:39: error: cannot find 'kSecAttrGeneric' in scope
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
    |                                       `- error: cannot find 'kSecAttrGeneric' in scope
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:39:39: error: cannot find 'kSecAttrAccount' in scope
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
    |                                       `- error: cannot find 'kSecAttrAccount' in scope
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:40:43: error: cannot find 'kSecAttrAccessGroup' in scope
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
    |                                           `- error: cannot find 'kSecAttrAccessGroup' in scope
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:41:43: error: cannot find 'kSecReturnAttributes' in scope
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
    |                                           `- error: cannot find 'kSecReturnAttributes' in scope
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
 43 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:42:45: error: cannot find 'kSecAttrSynchronizable' in scope
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
    |                                             `- error: cannot find 'kSecAttrSynchronizable' in scope
 43 |
 44 | /// KeychainWrapper is a class to help make Keychain access in Swift more straightforward. It is designed to make accessing the Keychain services more like using NSUserDefaults, which is much more familiar to people.
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:48:23: warning: static property 'defaultKeychainWrapper' is not concurrency-safe because non-'Sendable' type 'KeychainWrapper' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |
 44 | /// KeychainWrapper is a class to help make Keychain access in Swift more straightforward. It is designed to make accessing the Keychain services more like using NSUserDefaults, which is much more familiar to people.
 45 | open class KeychainWrapper {
    |            `- note: class 'KeychainWrapper' does not conform to the 'Sendable' protocol
 46 |
 47 |     @available(*, deprecated, message: "KeychainWrapper.defaultKeychainWrapper is deprecated since version 2.2.1, use KeychainWrapper.standard instead")
 48 |     public static let defaultKeychainWrapper = KeychainWrapper.standard
    |                       |- warning: static property 'defaultKeychainWrapper' is not concurrency-safe because non-'Sendable' type 'KeychainWrapper' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultKeychainWrapper' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |
 50 |     /// Default keychain wrapper access
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:51:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'KeychainWrapper' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |
 44 | /// KeychainWrapper is a class to help make Keychain access in Swift more straightforward. It is designed to make accessing the Keychain services more like using NSUserDefaults, which is much more familiar to people.
 45 | open class KeychainWrapper {
    |            `- note: class 'KeychainWrapper' does not conform to the 'Sendable' protocol
 46 |
 47 |     @available(*, deprecated, message: "KeychainWrapper.defaultKeychainWrapper is deprecated since version 2.2.1, use KeychainWrapper.standard instead")
    :
 49 |
 50 |     /// Default keychain wrapper access
 51 |     public static let standard = KeychainWrapper()
    |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'KeychainWrapper' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'standard' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 52 |
 53 |     /// ServiceName is used for the kSecAttrService property to uniquely identify this keychain accessor. If no service name is specified, KeychainWrapper will default to using the bundleIdentifier.
[5/6] Compiling SwiftKeychainWrapper KeychainWrapper.swift
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:54:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 52 |
 53 |     /// ServiceName is used for the kSecAttrService property to uniquely identify this keychain accessor. If no service name is specified, KeychainWrapper will default to using the bundleIdentifier.
 54 |     private (set) public var serviceName: String
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:57:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
 57 |     private (set) public var accessGroup: String?
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 58 |
 59 |     private static let defaultServiceName: String = {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:31:38: error: cannot find 'kSecMatchLimit' in scope
 29 |
 30 |
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
    |                                      `- error: cannot find 'kSecMatchLimit' in scope
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:32:38: error: cannot find 'kSecReturnData' in scope
 30 |
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
 32 | private let SecReturnData: String! = kSecReturnData as String
    |                                      `- error: cannot find 'kSecReturnData' in scope
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:33:47: error: cannot find 'kSecReturnPersistentRef' in scope
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
    |                                               `- error: cannot find 'kSecReturnPersistentRef' in scope
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:34:37: error: cannot find 'kSecValueData' in scope
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
    |                                     `- error: cannot find 'kSecValueData' in scope
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:35:42: error: cannot find 'kSecAttrAccessible' in scope
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
    |                                          `- error: cannot find 'kSecAttrAccessible' in scope
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:36:33: error: cannot find 'kSecClass' in scope
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
    |                                 `- error: cannot find 'kSecClass' in scope
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:37:39: error: cannot find 'kSecAttrService' in scope
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
    |                                       `- error: cannot find 'kSecAttrService' in scope
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:38:39: error: cannot find 'kSecAttrGeneric' in scope
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
    |                                       `- error: cannot find 'kSecAttrGeneric' in scope
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:39:39: error: cannot find 'kSecAttrAccount' in scope
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
    |                                       `- error: cannot find 'kSecAttrAccount' in scope
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:40:43: error: cannot find 'kSecAttrAccessGroup' in scope
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
    |                                           `- error: cannot find 'kSecAttrAccessGroup' in scope
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:41:43: error: cannot find 'kSecReturnAttributes' in scope
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
    |                                           `- error: cannot find 'kSecReturnAttributes' in scope
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
 43 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:42:45: error: cannot find 'kSecAttrSynchronizable' in scope
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
    |                                             `- error: cannot find 'kSecAttrSynchronizable' in scope
 43 |
 44 | /// KeychainWrapper is a class to help make Keychain access in Swift more straightforward. It is designed to make accessing the Keychain services more like using NSUserDefaults, which is much more familiar to people.
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:48:23: warning: static property 'defaultKeychainWrapper' is not concurrency-safe because non-'Sendable' type 'KeychainWrapper' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |
 44 | /// KeychainWrapper is a class to help make Keychain access in Swift more straightforward. It is designed to make accessing the Keychain services more like using NSUserDefaults, which is much more familiar to people.
 45 | open class KeychainWrapper {
    |            `- note: class 'KeychainWrapper' does not conform to the 'Sendable' protocol
 46 |
 47 |     @available(*, deprecated, message: "KeychainWrapper.defaultKeychainWrapper is deprecated since version 2.2.1, use KeychainWrapper.standard instead")
 48 |     public static let defaultKeychainWrapper = KeychainWrapper.standard
    |                       |- warning: static property 'defaultKeychainWrapper' is not concurrency-safe because non-'Sendable' type 'KeychainWrapper' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultKeychainWrapper' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |
 50 |     /// Default keychain wrapper access
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:51:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'KeychainWrapper' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |
 44 | /// KeychainWrapper is a class to help make Keychain access in Swift more straightforward. It is designed to make accessing the Keychain services more like using NSUserDefaults, which is much more familiar to people.
 45 | open class KeychainWrapper {
    |            `- note: class 'KeychainWrapper' does not conform to the 'Sendable' protocol
 46 |
 47 |     @available(*, deprecated, message: "KeychainWrapper.defaultKeychainWrapper is deprecated since version 2.2.1, use KeychainWrapper.standard instead")
    :
 49 |
 50 |     /// Default keychain wrapper access
 51 |     public static let standard = KeychainWrapper()
    |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'KeychainWrapper' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'standard' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 52 |
 53 |     /// ServiceName is used for the kSecAttrService property to uniquely identify this keychain accessor. If no service name is specified, KeychainWrapper will default to using the bundleIdentifier.
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:99:50: error: cannot find 'kSecMatchLimitOne' in scope
 97 |
 98 |         // Limit search results to one
 99 |         keychainQueryDictionary[SecMatchLimit] = kSecMatchLimitOne
    |                                                  `- error: cannot find 'kSecMatchLimitOne' in scope
100 |
101 |         // Specify we want SecAttrAccessible returned
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:102:56: error: cannot find 'kCFBooleanTrue' in scope
100 |
101 |         // Specify we want SecAttrAccessible returned
102 |         keychainQueryDictionary[SecReturnAttributes] = kCFBooleanTrue
    |                                                        `- error: cannot find 'kCFBooleanTrue' in scope
103 |
104 |         // Search
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:106:22: error: cannot find 'SecItemCopyMatching' in scope
104 |         // Search
105 |         var result: AnyObject?
106 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                      `- error: cannot find 'SecItemCopyMatching' in scope
107 |
108 |         guard status == noErr, let resultsDictionary = result as? [String:AnyObject], let accessibilityAttrValue = resultsDictionary[SecAttrAccessible] as? String else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:106:69: error: cannot find type 'CFDictionary' in scope
104 |         // Search
105 |         var result: AnyObject?
106 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                                                                     `- error: cannot find type 'CFDictionary' in scope
107 |
108 |         guard status == noErr, let resultsDictionary = result as? [String:AnyObject], let accessibilityAttrValue = resultsDictionary[SecAttrAccessible] as? String else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:108:25: error: cannot find 'noErr' in scope
106 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
107 |
108 |         guard status == noErr, let resultsDictionary = result as? [String:AnyObject], let accessibilityAttrValue = resultsDictionary[SecAttrAccessible] as? String else {
    |                         `- error: cannot find 'noErr' in scope
109 |             return nil
110 |         }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:94:69: error: cannot find type 'CFString' in scope
 92 |     case whenUnlockedThisDeviceOnly
 93 |
 94 |     static func accessibilityForAttributeValue(_ keychainAttrValue: CFString) -> KeychainItemAccessibility? {
    |                                                                     `- error: cannot find type 'CFString' in scope
 95 |         for (key, value) in keychainItemAccessibilityLookup {
 96 |             if value == keychainAttrValue {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:112:99: error: cannot find type 'CFString' in scope
110 |         }
111 |
112 |         return KeychainItemAccessibility.accessibilityForAttributeValue(accessibilityAttrValue as CFString)
    |                                                                                                   `- error: cannot find type 'CFString' in scope
113 |     }
114 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:118:23: error: cannot find 'kSecClassGenericPassword' in scope
116 |     open func allKeys() -> Set<String> {
117 |         var keychainQueryDictionary: [String:Any] = [
118 |             SecClass: kSecClassGenericPassword,
    |                       `- error: cannot find 'kSecClassGenericPassword' in scope
119 |             SecAttrService: serviceName,
120 |             SecReturnAttributes: kCFBooleanTrue!,
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:120:34: error: cannot find 'kCFBooleanTrue' in scope
118 |             SecClass: kSecClassGenericPassword,
119 |             SecAttrService: serviceName,
120 |             SecReturnAttributes: kCFBooleanTrue!,
    |                                  `- error: cannot find 'kCFBooleanTrue' in scope
121 |             SecMatchLimit: kSecMatchLimitAll,
122 |         ]
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:121:28: error: cannot find 'kSecMatchLimitAll' in scope
119 |             SecAttrService: serviceName,
120 |             SecReturnAttributes: kCFBooleanTrue!,
121 |             SecMatchLimit: kSecMatchLimitAll,
    |                            `- error: cannot find 'kSecMatchLimitAll' in scope
122 |         ]
123 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:129:22: error: cannot find 'SecItemCopyMatching' in scope
127 |
128 |         var result: AnyObject?
129 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                      `- error: cannot find 'SecItemCopyMatching' in scope
130 |
131 |         guard status == errSecSuccess else { return [] }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:129:69: error: cannot find type 'CFDictionary' in scope
127 |
128 |         var result: AnyObject?
129 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                                                                     `- error: cannot find type 'CFDictionary' in scope
130 |
131 |         guard status == errSecSuccess else { return [] }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:131:25: error: cannot find 'errSecSuccess' in scope
129 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
130 |
131 |         guard status == errSecSuccess else { return [] }
    |                         `- error: cannot find 'errSecSuccess' in scope
132 |
133 |         var keys = Set<String>()
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:139:56: error: cannot find 'kSecAttrAccount' in scope
137 |                     let key = String(data: accountData, encoding: String.Encoding.utf8) {
138 |                     keys.insert(key)
139 |                 } else if let accountData = attributes[kSecAttrAccount] as? Data,
    |                                                        `- error: cannot find 'kSecAttrAccount' in scope
140 |                     let key = String(data: accountData, encoding: String.Encoding.utf8) {
141 |                     keys.insert(key)
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:221:50: error: cannot find 'kSecMatchLimitOne' in scope
219 |
220 |         // Limit search results to one
221 |         keychainQueryDictionary[SecMatchLimit] = kSecMatchLimitOne
    |                                                  `- error: cannot find 'kSecMatchLimitOne' in scope
222 |
223 |         // Specify we want Data/CFData returned
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:224:50: error: cannot find 'kCFBooleanTrue' in scope
222 |
223 |         // Specify we want Data/CFData returned
224 |         keychainQueryDictionary[SecReturnData] = kCFBooleanTrue
    |                                                  `- error: cannot find 'kCFBooleanTrue' in scope
225 |
226 |         // Search
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:228:22: error: cannot find 'SecItemCopyMatching' in scope
226 |         // Search
227 |         var result: AnyObject?
228 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                      `- error: cannot find 'SecItemCopyMatching' in scope
229 |
230 |         return status == noErr ? result as? Data : nil
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:228:69: error: cannot find type 'CFDictionary' in scope
226 |         // Search
227 |         var result: AnyObject?
228 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                                                                     `- error: cannot find type 'CFDictionary' in scope
229 |
230 |         return status == noErr ? result as? Data : nil
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:230:26: error: cannot find 'noErr' in scope
228 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
229 |
230 |         return status == noErr ? result as? Data : nil
    |                          `- error: cannot find 'noErr' in scope
231 |     }
232 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:244:50: error: cannot find 'kSecMatchLimitOne' in scope
242 |
243 |         // Limit search results to one
244 |         keychainQueryDictionary[SecMatchLimit] = kSecMatchLimitOne
    |                                                  `- error: cannot find 'kSecMatchLimitOne' in scope
245 |
246 |         // Specify we want persistent Data/CFData reference returned
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:247:59: error: cannot find 'kCFBooleanTrue' in scope
245 |
246 |         // Specify we want persistent Data/CFData reference returned
247 |         keychainQueryDictionary[SecReturnPersistentRef] = kCFBooleanTrue
    |                                                           `- error: cannot find 'kCFBooleanTrue' in scope
248 |
249 |         // Search
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:251:22: error: cannot find 'SecItemCopyMatching' in scope
249 |         // Search
250 |         var result: AnyObject?
251 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                      `- error: cannot find 'SecItemCopyMatching' in scope
252 |
253 |         return status == noErr ? result as? Data : nil
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:251:69: error: cannot find type 'CFDictionary' in scope
249 |         // Search
250 |         var result: AnyObject?
251 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                                                                     `- error: cannot find type 'CFDictionary' in scope
252 |
253 |         return status == noErr ? result as? Data : nil
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:253:26: error: cannot find 'noErr' in scope
251 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
252 |
253 |         return status == noErr ? result as? Data : nil
    |                          `- error: cannot find 'noErr' in scope
254 |     }
255 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:31:28: error: cannot find type 'CFString' in scope
 29 |
 30 | protocol KeychainAttrRepresentable {
 31 |     var keychainAttrValue: CFString { get }
    |                            `- error: cannot find type 'CFString' in scope
 32 | }
 33 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:120:37: error: cannot find type 'CFString' in scope
118 |
119 | extension KeychainItemAccessibility : KeychainAttrRepresentable {
120 |     internal var keychainAttrValue: CFString {
    |                                     `- error: cannot find type 'CFString' in scope
121 |         return keychainItemAccessibilityLookup[self]!
122 |     }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:321:21: error: cannot find type 'OSStatus' in scope
319 |         }
320 |
321 |         let status: OSStatus = SecItemAdd(keychainQueryDictionary as CFDictionary, nil)
    |                     `- error: cannot find type 'OSStatus' in scope
322 |
323 |         if status == errSecSuccess {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:323:22: error: cannot find 'errSecSuccess' in scope
321 |         let status: OSStatus = SecItemAdd(keychainQueryDictionary as CFDictionary, nil)
322 |
323 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
324 |             return true
325 |         } else if status == errSecDuplicateItem {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:325:29: error: cannot find 'errSecDuplicateItem' in scope
323 |         if status == errSecSuccess {
324 |             return true
325 |         } else if status == errSecDuplicateItem {
    |                             `- error: cannot find 'errSecDuplicateItem' in scope
326 |             return update(value, forKey: key, withAccessibility: accessibility, isSynchronizable: isSynchronizable)
327 |         } else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:347:21: error: cannot find type 'OSStatus' in scope
345 |
346 |         // Delete
347 |         let status: OSStatus = SecItemDelete(keychainQueryDictionary as CFDictionary)
    |                     `- error: cannot find type 'OSStatus' in scope
348 |
349 |         if status == errSecSuccess {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:349:22: error: cannot find 'errSecSuccess' in scope
347 |         let status: OSStatus = SecItemDelete(keychainQueryDictionary as CFDictionary)
348 |
349 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
350 |             return true
351 |         } else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:359:63: error: cannot find 'kSecClassGenericPassword' in scope
357 |     @discardableResult open func removeAllKeys() -> Bool {
358 |         // Setup dictionary to access keychain and specify we are using a generic password (rather than a certificate, internet password, etc)
359 |         var keychainQueryDictionary: [String:Any] = [SecClass:kSecClassGenericPassword]
    |                                                               `- error: cannot find 'kSecClassGenericPassword' in scope
360 |
361 |         // Uniquely identify this keychain accessor
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:369:21: error: cannot find type 'OSStatus' in scope
367 |         }
368 |
369 |         let status: OSStatus = SecItemDelete(keychainQueryDictionary as CFDictionary)
    |                     `- error: cannot find type 'OSStatus' in scope
370 |
371 |         if status == errSecSuccess {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:371:22: error: cannot find 'errSecSuccess' in scope
369 |         let status: OSStatus = SecItemDelete(keychainQueryDictionary as CFDictionary)
370 |
371 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
372 |             return true
373 |         } else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:383:32: error: cannot find 'kSecClassGenericPassword' in scope
381 |     ///
382 |     open class func wipeKeychain() {
383 |         deleteKeychainSecClass(kSecClassGenericPassword) // Generic password items
    |                                `- error: cannot find 'kSecClassGenericPassword' in scope
384 |         deleteKeychainSecClass(kSecClassInternetPassword) // Internet password items
385 |         deleteKeychainSecClass(kSecClassCertificate) // Certificate items
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:384:32: error: cannot find 'kSecClassInternetPassword' in scope
382 |     open class func wipeKeychain() {
383 |         deleteKeychainSecClass(kSecClassGenericPassword) // Generic password items
384 |         deleteKeychainSecClass(kSecClassInternetPassword) // Internet password items
    |                                `- error: cannot find 'kSecClassInternetPassword' in scope
385 |         deleteKeychainSecClass(kSecClassCertificate) // Certificate items
386 |         deleteKeychainSecClass(kSecClassKey) // Cryptographic key items
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:385:32: error: cannot find 'kSecClassCertificate' in scope
383 |         deleteKeychainSecClass(kSecClassGenericPassword) // Generic password items
384 |         deleteKeychainSecClass(kSecClassInternetPassword) // Internet password items
385 |         deleteKeychainSecClass(kSecClassCertificate) // Certificate items
    |                                `- error: cannot find 'kSecClassCertificate' in scope
386 |         deleteKeychainSecClass(kSecClassKey) // Cryptographic key items
387 |         deleteKeychainSecClass(kSecClassIdentity) // Identity items
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:386:32: error: cannot find 'kSecClassKey' in scope
384 |         deleteKeychainSecClass(kSecClassInternetPassword) // Internet password items
385 |         deleteKeychainSecClass(kSecClassCertificate) // Certificate items
386 |         deleteKeychainSecClass(kSecClassKey) // Cryptographic key items
    |                                `- error: cannot find 'kSecClassKey' in scope
387 |         deleteKeychainSecClass(kSecClassIdentity) // Identity items
388 |     }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:387:32: error: cannot find 'kSecClassIdentity' in scope
385 |         deleteKeychainSecClass(kSecClassCertificate) // Certificate items
386 |         deleteKeychainSecClass(kSecClassKey) // Cryptographic key items
387 |         deleteKeychainSecClass(kSecClassIdentity) // Identity items
    |                                `- error: cannot find 'kSecClassIdentity' in scope
388 |     }
389 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:397:21: error: cannot find type 'OSStatus' in scope
395 |     @discardableResult private class func deleteKeychainSecClass(_ secClass: AnyObject) -> Bool {
396 |         let query = [SecClass: secClass]
397 |         let status: OSStatus = SecItemDelete(query as CFDictionary)
    |                     `- error: cannot find type 'OSStatus' in scope
398 |
399 |         if status == errSecSuccess {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:399:22: error: cannot find 'errSecSuccess' in scope
397 |         let status: OSStatus = SecItemDelete(query as CFDictionary)
398 |
399 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
400 |             return true
401 |         } else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:417:21: error: cannot find type 'OSStatus' in scope
415 |
416 |         // Update
417 |         let status: OSStatus = SecItemUpdate(keychainQueryDictionary as CFDictionary, updateDictionary as CFDictionary)
    |                     `- error: cannot find type 'OSStatus' in scope
418 |
419 |         if status == errSecSuccess {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:419:22: error: cannot find 'errSecSuccess' in scope
417 |         let status: OSStatus = SecItemUpdate(keychainQueryDictionary as CFDictionary, updateDictionary as CFDictionary)
418 |
419 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
420 |             return true
421 |         } else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:434:63: error: cannot find 'kSecClassGenericPassword' in scope
432 |     private func setupKeychainQueryDictionary(forKey key: String, withAccessibility accessibility: KeychainItemAccessibility? = nil, isSynchronizable: Bool = false) -> [String:Any] {
433 |         // Setup default access as generic password (rather than a certificate, internet password, etc)
434 |         var keychainQueryDictionary: [String:Any] = [SecClass:kSecClassGenericPassword]
    |                                                               `- error: cannot find 'kSecClassGenericPassword' in scope
435 |
436 |         // Uniquely identify this keychain accessor
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:456:77: error: cannot find 'kCFBooleanTrue' in scope
454 |         keychainQueryDictionary[SecAttrAccount] = encodedIdentifier
455 |
456 |         keychainQueryDictionary[SecAttrSynchronizable] = isSynchronizable ? kCFBooleanTrue : kCFBooleanFalse
    |                                                                             `- error: cannot find 'kCFBooleanTrue' in scope
457 |
458 |         return keychainQueryDictionary
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:456:94: error: cannot find 'kCFBooleanFalse' in scope
454 |         keychainQueryDictionary[SecAttrAccount] = encodedIdentifier
455 |
456 |         keychainQueryDictionary[SecAttrSynchronizable] = isSynchronizable ? kCFBooleanTrue : kCFBooleanFalse
    |                                                                                              `- error: cannot find 'kCFBooleanFalse' in scope
457 |
458 |         return keychainQueryDictionary
[6/6] Compiling SwiftKeychainWrapper KeychainItemAccessibility.swift
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:31:28: error: cannot find type 'CFString' in scope
 29 |
 30 | protocol KeychainAttrRepresentable {
 31 |     var keychainAttrValue: CFString { get }
    |                            `- error: cannot find type 'CFString' in scope
 32 | }
 33 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:94:69: error: cannot find type 'CFString' in scope
 92 |     case whenUnlockedThisDeviceOnly
 93 |
 94 |     static func accessibilityForAttributeValue(_ keychainAttrValue: CFString) -> KeychainItemAccessibility? {
    |                                                                     `- error: cannot find type 'CFString' in scope
 95 |         for (key, value) in keychainItemAccessibilityLookup {
 96 |             if value == keychainAttrValue {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:105:73: error: cannot find type 'CFString' in scope
103 | }
104 |
105 | private let keychainItemAccessibilityLookup: [KeychainItemAccessibility:CFString] = {
    |                                                                         `- error: cannot find type 'CFString' in scope
106 |     var lookup: [KeychainItemAccessibility:CFString] = [
107 |         .afterFirstUnlock: kSecAttrAccessibleAfterFirstUnlock,
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:120:37: error: cannot find type 'CFString' in scope
118 |
119 | extension KeychainItemAccessibility : KeychainAttrRepresentable {
120 |     internal var keychainAttrValue: CFString {
    |                                     `- error: cannot find type 'CFString' in scope
121 |         return keychainItemAccessibilityLookup[self]!
122 |     }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/5] Emitting module SwiftKeychainWrapper
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:31:28: error: cannot find type 'CFString' in scope
 29 |
 30 | protocol KeychainAttrRepresentable {
 31 |     var keychainAttrValue: CFString { get }
    |                            `- error: cannot find type 'CFString' in scope
 32 | }
 33 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:94:69: error: cannot find type 'CFString' in scope
 92 |     case whenUnlockedThisDeviceOnly
 93 |
 94 |     static func accessibilityForAttributeValue(_ keychainAttrValue: CFString) -> KeychainItemAccessibility? {
    |                                                                     `- error: cannot find type 'CFString' in scope
 95 |         for (key, value) in keychainItemAccessibilityLookup {
 96 |             if value == keychainAttrValue {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:105:73: error: cannot find type 'CFString' in scope
103 | }
104 |
105 | private let keychainItemAccessibilityLookup: [KeychainItemAccessibility:CFString] = {
    |                                                                         `- error: cannot find type 'CFString' in scope
106 |     var lookup: [KeychainItemAccessibility:CFString] = [
107 |         .afterFirstUnlock: kSecAttrAccessibleAfterFirstUnlock,
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:120:37: error: cannot find type 'CFString' in scope
118 |
119 | extension KeychainItemAccessibility : KeychainAttrRepresentable {
120 |     internal var keychainAttrValue: CFString {
    |                                     `- error: cannot find type 'CFString' in scope
121 |         return keychainItemAccessibilityLookup[self]!
122 |     }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:54:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 52 |
 53 |     /// ServiceName is used for the kSecAttrService property to uniquely identify this keychain accessor. If no service name is specified, KeychainWrapper will default to using the bundleIdentifier.
 54 |     private (set) public var serviceName: String
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:57:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
 57 |     private (set) public var accessGroup: String?
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 58 |
 59 |     private static let defaultServiceName: String = {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:31:38: error: cannot find 'kSecMatchLimit' in scope
 29 |
 30 |
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
    |                                      `- error: cannot find 'kSecMatchLimit' in scope
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:32:38: error: cannot find 'kSecReturnData' in scope
 30 |
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
 32 | private let SecReturnData: String! = kSecReturnData as String
    |                                      `- error: cannot find 'kSecReturnData' in scope
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:33:47: error: cannot find 'kSecReturnPersistentRef' in scope
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
    |                                               `- error: cannot find 'kSecReturnPersistentRef' in scope
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:34:37: error: cannot find 'kSecValueData' in scope
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
    |                                     `- error: cannot find 'kSecValueData' in scope
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:35:42: error: cannot find 'kSecAttrAccessible' in scope
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
    |                                          `- error: cannot find 'kSecAttrAccessible' in scope
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:36:33: error: cannot find 'kSecClass' in scope
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
    |                                 `- error: cannot find 'kSecClass' in scope
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:37:39: error: cannot find 'kSecAttrService' in scope
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
    |                                       `- error: cannot find 'kSecAttrService' in scope
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:38:39: error: cannot find 'kSecAttrGeneric' in scope
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
    |                                       `- error: cannot find 'kSecAttrGeneric' in scope
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:39:39: error: cannot find 'kSecAttrAccount' in scope
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
    |                                       `- error: cannot find 'kSecAttrAccount' in scope
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:40:43: error: cannot find 'kSecAttrAccessGroup' in scope
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
    |                                           `- error: cannot find 'kSecAttrAccessGroup' in scope
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:41:43: error: cannot find 'kSecReturnAttributes' in scope
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
    |                                           `- error: cannot find 'kSecReturnAttributes' in scope
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
 43 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:42:45: error: cannot find 'kSecAttrSynchronizable' in scope
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
    |                                             `- error: cannot find 'kSecAttrSynchronizable' in scope
 43 |
 44 | /// KeychainWrapper is a class to help make Keychain access in Swift more straightforward. It is designed to make accessing the Keychain services more like using NSUserDefaults, which is much more familiar to people.
[3/5] Compiling SwiftKeychainWrapper KeychainWrapperSubscript.swift
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:54:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 52 |
 53 |     /// ServiceName is used for the kSecAttrService property to uniquely identify this keychain accessor. If no service name is specified, KeychainWrapper will default to using the bundleIdentifier.
 54 |     private (set) public var serviceName: String
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:57:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
 57 |     private (set) public var accessGroup: String?
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 58 |
 59 |     private static let defaultServiceName: String = {
[4/5] Compiling SwiftKeychainWrapper KeychainItemAccessibility.swift
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:31:28: error: cannot find type 'CFString' in scope
 29 |
 30 | protocol KeychainAttrRepresentable {
 31 |     var keychainAttrValue: CFString { get }
    |                            `- error: cannot find type 'CFString' in scope
 32 | }
 33 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:94:69: error: cannot find type 'CFString' in scope
 92 |     case whenUnlockedThisDeviceOnly
 93 |
 94 |     static func accessibilityForAttributeValue(_ keychainAttrValue: CFString) -> KeychainItemAccessibility? {
    |                                                                     `- error: cannot find type 'CFString' in scope
 95 |         for (key, value) in keychainItemAccessibilityLookup {
 96 |             if value == keychainAttrValue {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:105:73: error: cannot find type 'CFString' in scope
103 | }
104 |
105 | private let keychainItemAccessibilityLookup: [KeychainItemAccessibility:CFString] = {
    |                                                                         `- error: cannot find type 'CFString' in scope
106 |     var lookup: [KeychainItemAccessibility:CFString] = [
107 |         .afterFirstUnlock: kSecAttrAccessibleAfterFirstUnlock,
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:120:37: error: cannot find type 'CFString' in scope
118 |
119 | extension KeychainItemAccessibility : KeychainAttrRepresentable {
120 |     internal var keychainAttrValue: CFString {
    |                                     `- error: cannot find type 'CFString' in scope
121 |         return keychainItemAccessibilityLookup[self]!
122 |     }
[5/5] Compiling SwiftKeychainWrapper KeychainWrapper.swift
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:54:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 52 |
 53 |     /// ServiceName is used for the kSecAttrService property to uniquely identify this keychain accessor. If no service name is specified, KeychainWrapper will default to using the bundleIdentifier.
 54 |     private (set) public var serviceName: String
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:57:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 55 |
 56 |     /// AccessGroup is used for the kSecAttrAccessGroup property to identify which Keychain Access Group this entry belongs to. This allows you to use the KeychainWrapper with shared keychain access between different applications.
 57 |     private (set) public var accessGroup: String?
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 58 |
 59 |     private static let defaultServiceName: String = {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:31:38: error: cannot find 'kSecMatchLimit' in scope
 29 |
 30 |
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
    |                                      `- error: cannot find 'kSecMatchLimit' in scope
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:32:38: error: cannot find 'kSecReturnData' in scope
 30 |
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
 32 | private let SecReturnData: String! = kSecReturnData as String
    |                                      `- error: cannot find 'kSecReturnData' in scope
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:33:47: error: cannot find 'kSecReturnPersistentRef' in scope
 31 | private let SecMatchLimit: String! = kSecMatchLimit as String
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
    |                                               `- error: cannot find 'kSecReturnPersistentRef' in scope
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:34:37: error: cannot find 'kSecValueData' in scope
 32 | private let SecReturnData: String! = kSecReturnData as String
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
    |                                     `- error: cannot find 'kSecValueData' in scope
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:35:42: error: cannot find 'kSecAttrAccessible' in scope
 33 | private let SecReturnPersistentRef: String! = kSecReturnPersistentRef as String
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
    |                                          `- error: cannot find 'kSecAttrAccessible' in scope
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:36:33: error: cannot find 'kSecClass' in scope
 34 | private let SecValueData: String! = kSecValueData as String
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
    |                                 `- error: cannot find 'kSecClass' in scope
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:37:39: error: cannot find 'kSecAttrService' in scope
 35 | private let SecAttrAccessible: String! = kSecAttrAccessible as String
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
    |                                       `- error: cannot find 'kSecAttrService' in scope
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:38:39: error: cannot find 'kSecAttrGeneric' in scope
 36 | private let SecClass: String! = kSecClass as String
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
    |                                       `- error: cannot find 'kSecAttrGeneric' in scope
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:39:39: error: cannot find 'kSecAttrAccount' in scope
 37 | private let SecAttrService: String! = kSecAttrService as String
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
    |                                       `- error: cannot find 'kSecAttrAccount' in scope
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:40:43: error: cannot find 'kSecAttrAccessGroup' in scope
 38 | private let SecAttrGeneric: String! = kSecAttrGeneric as String
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
    |                                           `- error: cannot find 'kSecAttrAccessGroup' in scope
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:41:43: error: cannot find 'kSecReturnAttributes' in scope
 39 | private let SecAttrAccount: String! = kSecAttrAccount as String
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
    |                                           `- error: cannot find 'kSecReturnAttributes' in scope
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
 43 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:42:45: error: cannot find 'kSecAttrSynchronizable' in scope
 40 | private let SecAttrAccessGroup: String! = kSecAttrAccessGroup as String
 41 | private let SecReturnAttributes: String = kSecReturnAttributes as String
 42 | private let SecAttrSynchronizable: String = kSecAttrSynchronizable as String
    |                                             `- error: cannot find 'kSecAttrSynchronizable' in scope
 43 |
 44 | /// KeychainWrapper is a class to help make Keychain access in Swift more straightforward. It is designed to make accessing the Keychain services more like using NSUserDefaults, which is much more familiar to people.
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:99:50: error: cannot find 'kSecMatchLimitOne' in scope
 97 |
 98 |         // Limit search results to one
 99 |         keychainQueryDictionary[SecMatchLimit] = kSecMatchLimitOne
    |                                                  `- error: cannot find 'kSecMatchLimitOne' in scope
100 |
101 |         // Specify we want SecAttrAccessible returned
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:102:56: error: cannot find 'kCFBooleanTrue' in scope
100 |
101 |         // Specify we want SecAttrAccessible returned
102 |         keychainQueryDictionary[SecReturnAttributes] = kCFBooleanTrue
    |                                                        `- error: cannot find 'kCFBooleanTrue' in scope
103 |
104 |         // Search
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:106:22: error: cannot find 'SecItemCopyMatching' in scope
104 |         // Search
105 |         var result: AnyObject?
106 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                      `- error: cannot find 'SecItemCopyMatching' in scope
107 |
108 |         guard status == noErr, let resultsDictionary = result as? [String:AnyObject], let accessibilityAttrValue = resultsDictionary[SecAttrAccessible] as? String else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:106:69: error: cannot find type 'CFDictionary' in scope
104 |         // Search
105 |         var result: AnyObject?
106 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                                                                     `- error: cannot find type 'CFDictionary' in scope
107 |
108 |         guard status == noErr, let resultsDictionary = result as? [String:AnyObject], let accessibilityAttrValue = resultsDictionary[SecAttrAccessible] as? String else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:108:25: error: cannot find 'noErr' in scope
106 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
107 |
108 |         guard status == noErr, let resultsDictionary = result as? [String:AnyObject], let accessibilityAttrValue = resultsDictionary[SecAttrAccessible] as? String else {
    |                         `- error: cannot find 'noErr' in scope
109 |             return nil
110 |         }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:94:69: error: cannot find type 'CFString' in scope
 92 |     case whenUnlockedThisDeviceOnly
 93 |
 94 |     static func accessibilityForAttributeValue(_ keychainAttrValue: CFString) -> KeychainItemAccessibility? {
    |                                                                     `- error: cannot find type 'CFString' in scope
 95 |         for (key, value) in keychainItemAccessibilityLookup {
 96 |             if value == keychainAttrValue {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:112:99: error: cannot find type 'CFString' in scope
110 |         }
111 |
112 |         return KeychainItemAccessibility.accessibilityForAttributeValue(accessibilityAttrValue as CFString)
    |                                                                                                   `- error: cannot find type 'CFString' in scope
113 |     }
114 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:118:23: error: cannot find 'kSecClassGenericPassword' in scope
116 |     open func allKeys() -> Set<String> {
117 |         var keychainQueryDictionary: [String:Any] = [
118 |             SecClass: kSecClassGenericPassword,
    |                       `- error: cannot find 'kSecClassGenericPassword' in scope
119 |             SecAttrService: serviceName,
120 |             SecReturnAttributes: kCFBooleanTrue!,
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:120:34: error: cannot find 'kCFBooleanTrue' in scope
118 |             SecClass: kSecClassGenericPassword,
119 |             SecAttrService: serviceName,
120 |             SecReturnAttributes: kCFBooleanTrue!,
    |                                  `- error: cannot find 'kCFBooleanTrue' in scope
121 |             SecMatchLimit: kSecMatchLimitAll,
122 |         ]
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:121:28: error: cannot find 'kSecMatchLimitAll' in scope
119 |             SecAttrService: serviceName,
120 |             SecReturnAttributes: kCFBooleanTrue!,
121 |             SecMatchLimit: kSecMatchLimitAll,
    |                            `- error: cannot find 'kSecMatchLimitAll' in scope
122 |         ]
123 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:129:22: error: cannot find 'SecItemCopyMatching' in scope
127 |
128 |         var result: AnyObject?
129 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                      `- error: cannot find 'SecItemCopyMatching' in scope
130 |
131 |         guard status == errSecSuccess else { return [] }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:129:69: error: cannot find type 'CFDictionary' in scope
127 |
128 |         var result: AnyObject?
129 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                                                                     `- error: cannot find type 'CFDictionary' in scope
130 |
131 |         guard status == errSecSuccess else { return [] }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:131:25: error: cannot find 'errSecSuccess' in scope
129 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
130 |
131 |         guard status == errSecSuccess else { return [] }
    |                         `- error: cannot find 'errSecSuccess' in scope
132 |
133 |         var keys = Set<String>()
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:139:56: error: cannot find 'kSecAttrAccount' in scope
137 |                     let key = String(data: accountData, encoding: String.Encoding.utf8) {
138 |                     keys.insert(key)
139 |                 } else if let accountData = attributes[kSecAttrAccount] as? Data,
    |                                                        `- error: cannot find 'kSecAttrAccount' in scope
140 |                     let key = String(data: accountData, encoding: String.Encoding.utf8) {
141 |                     keys.insert(key)
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:221:50: error: cannot find 'kSecMatchLimitOne' in scope
219 |
220 |         // Limit search results to one
221 |         keychainQueryDictionary[SecMatchLimit] = kSecMatchLimitOne
    |                                                  `- error: cannot find 'kSecMatchLimitOne' in scope
222 |
223 |         // Specify we want Data/CFData returned
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:224:50: error: cannot find 'kCFBooleanTrue' in scope
222 |
223 |         // Specify we want Data/CFData returned
224 |         keychainQueryDictionary[SecReturnData] = kCFBooleanTrue
    |                                                  `- error: cannot find 'kCFBooleanTrue' in scope
225 |
226 |         // Search
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:228:22: error: cannot find 'SecItemCopyMatching' in scope
226 |         // Search
227 |         var result: AnyObject?
228 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                      `- error: cannot find 'SecItemCopyMatching' in scope
229 |
230 |         return status == noErr ? result as? Data : nil
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:228:69: error: cannot find type 'CFDictionary' in scope
226 |         // Search
227 |         var result: AnyObject?
228 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                                                                     `- error: cannot find type 'CFDictionary' in scope
229 |
230 |         return status == noErr ? result as? Data : nil
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:230:26: error: cannot find 'noErr' in scope
228 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
229 |
230 |         return status == noErr ? result as? Data : nil
    |                          `- error: cannot find 'noErr' in scope
231 |     }
232 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:244:50: error: cannot find 'kSecMatchLimitOne' in scope
242 |
243 |         // Limit search results to one
244 |         keychainQueryDictionary[SecMatchLimit] = kSecMatchLimitOne
    |                                                  `- error: cannot find 'kSecMatchLimitOne' in scope
245 |
246 |         // Specify we want persistent Data/CFData reference returned
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:247:59: error: cannot find 'kCFBooleanTrue' in scope
245 |
246 |         // Specify we want persistent Data/CFData reference returned
247 |         keychainQueryDictionary[SecReturnPersistentRef] = kCFBooleanTrue
    |                                                           `- error: cannot find 'kCFBooleanTrue' in scope
248 |
249 |         // Search
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:251:22: error: cannot find 'SecItemCopyMatching' in scope
249 |         // Search
250 |         var result: AnyObject?
251 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                      `- error: cannot find 'SecItemCopyMatching' in scope
252 |
253 |         return status == noErr ? result as? Data : nil
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:251:69: error: cannot find type 'CFDictionary' in scope
249 |         // Search
250 |         var result: AnyObject?
251 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
    |                                                                     `- error: cannot find type 'CFDictionary' in scope
252 |
253 |         return status == noErr ? result as? Data : nil
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:253:26: error: cannot find 'noErr' in scope
251 |         let status = SecItemCopyMatching(keychainQueryDictionary as CFDictionary, &result)
252 |
253 |         return status == noErr ? result as? Data : nil
    |                          `- error: cannot find 'noErr' in scope
254 |     }
255 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:31:28: error: cannot find type 'CFString' in scope
 29 |
 30 | protocol KeychainAttrRepresentable {
 31 |     var keychainAttrValue: CFString { get }
    |                            `- error: cannot find type 'CFString' in scope
 32 | }
 33 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainItemAccessibility.swift:120:37: error: cannot find type 'CFString' in scope
118 |
119 | extension KeychainItemAccessibility : KeychainAttrRepresentable {
120 |     internal var keychainAttrValue: CFString {
    |                                     `- error: cannot find type 'CFString' in scope
121 |         return keychainItemAccessibilityLookup[self]!
122 |     }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:321:21: error: cannot find type 'OSStatus' in scope
319 |         }
320 |
321 |         let status: OSStatus = SecItemAdd(keychainQueryDictionary as CFDictionary, nil)
    |                     `- error: cannot find type 'OSStatus' in scope
322 |
323 |         if status == errSecSuccess {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:323:22: error: cannot find 'errSecSuccess' in scope
321 |         let status: OSStatus = SecItemAdd(keychainQueryDictionary as CFDictionary, nil)
322 |
323 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
324 |             return true
325 |         } else if status == errSecDuplicateItem {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:325:29: error: cannot find 'errSecDuplicateItem' in scope
323 |         if status == errSecSuccess {
324 |             return true
325 |         } else if status == errSecDuplicateItem {
    |                             `- error: cannot find 'errSecDuplicateItem' in scope
326 |             return update(value, forKey: key, withAccessibility: accessibility, isSynchronizable: isSynchronizable)
327 |         } else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:347:21: error: cannot find type 'OSStatus' in scope
345 |
346 |         // Delete
347 |         let status: OSStatus = SecItemDelete(keychainQueryDictionary as CFDictionary)
    |                     `- error: cannot find type 'OSStatus' in scope
348 |
349 |         if status == errSecSuccess {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:349:22: error: cannot find 'errSecSuccess' in scope
347 |         let status: OSStatus = SecItemDelete(keychainQueryDictionary as CFDictionary)
348 |
349 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
350 |             return true
351 |         } else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:359:63: error: cannot find 'kSecClassGenericPassword' in scope
357 |     @discardableResult open func removeAllKeys() -> Bool {
358 |         // Setup dictionary to access keychain and specify we are using a generic password (rather than a certificate, internet password, etc)
359 |         var keychainQueryDictionary: [String:Any] = [SecClass:kSecClassGenericPassword]
    |                                                               `- error: cannot find 'kSecClassGenericPassword' in scope
360 |
361 |         // Uniquely identify this keychain accessor
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:369:21: error: cannot find type 'OSStatus' in scope
367 |         }
368 |
369 |         let status: OSStatus = SecItemDelete(keychainQueryDictionary as CFDictionary)
    |                     `- error: cannot find type 'OSStatus' in scope
370 |
371 |         if status == errSecSuccess {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:371:22: error: cannot find 'errSecSuccess' in scope
369 |         let status: OSStatus = SecItemDelete(keychainQueryDictionary as CFDictionary)
370 |
371 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
372 |             return true
373 |         } else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:383:32: error: cannot find 'kSecClassGenericPassword' in scope
381 |     ///
382 |     open class func wipeKeychain() {
383 |         deleteKeychainSecClass(kSecClassGenericPassword) // Generic password items
    |                                `- error: cannot find 'kSecClassGenericPassword' in scope
384 |         deleteKeychainSecClass(kSecClassInternetPassword) // Internet password items
385 |         deleteKeychainSecClass(kSecClassCertificate) // Certificate items
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:384:32: error: cannot find 'kSecClassInternetPassword' in scope
382 |     open class func wipeKeychain() {
383 |         deleteKeychainSecClass(kSecClassGenericPassword) // Generic password items
384 |         deleteKeychainSecClass(kSecClassInternetPassword) // Internet password items
    |                                `- error: cannot find 'kSecClassInternetPassword' in scope
385 |         deleteKeychainSecClass(kSecClassCertificate) // Certificate items
386 |         deleteKeychainSecClass(kSecClassKey) // Cryptographic key items
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:385:32: error: cannot find 'kSecClassCertificate' in scope
383 |         deleteKeychainSecClass(kSecClassGenericPassword) // Generic password items
384 |         deleteKeychainSecClass(kSecClassInternetPassword) // Internet password items
385 |         deleteKeychainSecClass(kSecClassCertificate) // Certificate items
    |                                `- error: cannot find 'kSecClassCertificate' in scope
386 |         deleteKeychainSecClass(kSecClassKey) // Cryptographic key items
387 |         deleteKeychainSecClass(kSecClassIdentity) // Identity items
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:386:32: error: cannot find 'kSecClassKey' in scope
384 |         deleteKeychainSecClass(kSecClassInternetPassword) // Internet password items
385 |         deleteKeychainSecClass(kSecClassCertificate) // Certificate items
386 |         deleteKeychainSecClass(kSecClassKey) // Cryptographic key items
    |                                `- error: cannot find 'kSecClassKey' in scope
387 |         deleteKeychainSecClass(kSecClassIdentity) // Identity items
388 |     }
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:387:32: error: cannot find 'kSecClassIdentity' in scope
385 |         deleteKeychainSecClass(kSecClassCertificate) // Certificate items
386 |         deleteKeychainSecClass(kSecClassKey) // Cryptographic key items
387 |         deleteKeychainSecClass(kSecClassIdentity) // Identity items
    |                                `- error: cannot find 'kSecClassIdentity' in scope
388 |     }
389 |
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:397:21: error: cannot find type 'OSStatus' in scope
395 |     @discardableResult private class func deleteKeychainSecClass(_ secClass: AnyObject) -> Bool {
396 |         let query = [SecClass: secClass]
397 |         let status: OSStatus = SecItemDelete(query as CFDictionary)
    |                     `- error: cannot find type 'OSStatus' in scope
398 |
399 |         if status == errSecSuccess {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:399:22: error: cannot find 'errSecSuccess' in scope
397 |         let status: OSStatus = SecItemDelete(query as CFDictionary)
398 |
399 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
400 |             return true
401 |         } else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:417:21: error: cannot find type 'OSStatus' in scope
415 |
416 |         // Update
417 |         let status: OSStatus = SecItemUpdate(keychainQueryDictionary as CFDictionary, updateDictionary as CFDictionary)
    |                     `- error: cannot find type 'OSStatus' in scope
418 |
419 |         if status == errSecSuccess {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:419:22: error: cannot find 'errSecSuccess' in scope
417 |         let status: OSStatus = SecItemUpdate(keychainQueryDictionary as CFDictionary, updateDictionary as CFDictionary)
418 |
419 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
420 |             return true
421 |         } else {
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:434:63: error: cannot find 'kSecClassGenericPassword' in scope
432 |     private func setupKeychainQueryDictionary(forKey key: String, withAccessibility accessibility: KeychainItemAccessibility? = nil, isSynchronizable: Bool = false) -> [String:Any] {
433 |         // Setup default access as generic password (rather than a certificate, internet password, etc)
434 |         var keychainQueryDictionary: [String:Any] = [SecClass:kSecClassGenericPassword]
    |                                                               `- error: cannot find 'kSecClassGenericPassword' in scope
435 |
436 |         // Uniquely identify this keychain accessor
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:456:77: error: cannot find 'kCFBooleanTrue' in scope
454 |         keychainQueryDictionary[SecAttrAccount] = encodedIdentifier
455 |
456 |         keychainQueryDictionary[SecAttrSynchronizable] = isSynchronizable ? kCFBooleanTrue : kCFBooleanFalse
    |                                                                             `- error: cannot find 'kCFBooleanTrue' in scope
457 |
458 |         return keychainQueryDictionary
/host/spi-builder-workspace/SwiftKeychainWrapper/KeychainWrapper.swift:456:94: error: cannot find 'kCFBooleanFalse' in scope
454 |         keychainQueryDictionary[SecAttrAccount] = encodedIdentifier
455 |
456 |         keychainQueryDictionary[SecAttrSynchronizable] = isSynchronizable ? kCFBooleanTrue : kCFBooleanFalse
    |                                                                                              `- error: cannot find 'kCFBooleanFalse' in scope
457 |
458 |         return keychainQueryDictionary
BUILD FAILURE 6.1 wasm