Build Information
Failed to build Engine, reference 0.1.0 (979796
), with Swift 6.1 for Linux on 30 Apr 2025 14:58:24 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/blackjacx/engine.git
Reference: 0.1.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/blackjacx/engine
* tag 0.1.0 -> FETCH_HEAD
HEAD is now at 9797968 Merge branch 'release/0.1.0'
Cloned https://github.com/blackjacx/engine.git
Revision (git rev-parse @):
9797968aec667217cdd83a4e3b45972d4bf5a861
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/blackjacx/engine.git at 0.1.0
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/blackjacx/engine.git
https://github.com/blackjacx/engine.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
{
"identity" : "swiftkeychainwrapper",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.1",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/jrendel/SwiftKeychainWrapper"
}
],
"manifest_display_name" : "Engine",
"name" : "Engine",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "Engine",
"targets" : [
"Engine"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "EngineTests",
"module_type" : "SwiftTarget",
"name" : "EngineTests",
"path" : "Tests/EngineTests",
"sources" : [
"Foundation/URLTests.swift",
"JWT/JWTTests.swift",
"PropertyWrapper/ClampingTests.swift",
"UIKit/UIColorTests.swift"
],
"target_dependencies" : [
"Engine"
],
"type" : "test"
},
{
"c99name" : "Engine",
"module_type" : "SwiftTarget",
"name" : "Engine",
"path" : "Sources/Engine",
"product_dependencies" : [
"SwiftKeychainWrapper"
],
"product_memberships" : [
"Engine"
],
"sources" : [
"Engine.swift",
"Foundation/Bundle+Extensions.swift",
"Foundation/FileManager+Extensions.swift",
"Foundation/ProcessInfo+Extensions.swift",
"Foundation/String+Extensions.swift",
"Foundation/String+Random.swift",
"Foundation/URL+Extensions.swift",
"Foundation/URLRequest+Extensions.swift",
"JWT/JWT.swift",
"JWT/JWTClaims.swift",
"JWT/JWTHeader.swift",
"Keychain/Keychain.swift",
"Networking/Endpoint.swift",
"Networking/HTTPMethod.swift",
"Networking/Json.swift",
"Networking/LoggableError.swift",
"Networking/Network.swift",
"Networking/NetworkError.swift",
"Networking/Service.swift",
"Networking/models/DataWrapper.swift",
"Networking/models/EmptyResponse.swift",
"PropertyWrapper/Clamping.swift",
"PropertyWrapper/UserDefaults+PropertyWrapper.swift",
"UIKit/UIColor+Extensions.swift",
"UIKit/UIView+Extensions.swift",
"UIKit/UIViewController+Extensions.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/jrendel/SwiftKeychainWrapper
[1/1666] Fetching swiftkeychainwrapper
Fetched https://github.com/jrendel/SwiftKeychainWrapper from cache (0.47s)
Computing version for https://github.com/jrendel/SwiftKeychainWrapper
Computed https://github.com/jrendel/SwiftKeychainWrapper at 4.0.1 (3.81s)
Creating working copy for https://github.com/jrendel/SwiftKeychainWrapper
Working copy of https://github.com/jrendel/SwiftKeychainWrapper resolved at 4.0.1
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/7] Emitting module SwiftKeychainWrapper
/host/spi-builder-workspace/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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.
[5/7] Compiling SwiftKeychainWrapper KeychainItemAccessibility.swift
/host/spi-builder-workspace/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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 | }
[6/7] Compiling SwiftKeychainWrapper KeychainWrapperSubscript.swift
[7/7] Compiling SwiftKeychainWrapper KeychainWrapper.swift
/host/spi-builder-workspace/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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 KeychainWrapper.swift
/host/spi-builder-workspace/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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
[4/5] Compiling SwiftKeychainWrapper KeychainWrapperSubscript.swift
[5/5] Compiling SwiftKeychainWrapper KeychainItemAccessibility.swift
/host/spi-builder-workspace/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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/.build/checkouts/SwiftKeychainWrapper/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 | }
BUILD FAILURE 6.1 linux