Build Information
Successful build of SwiftKeychain, reference main (7639ff
), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 16:24:40 UTC.
Swift 6 data race errors: 6
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ShenghaiWang/SwiftKeychain.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ShenghaiWang/SwiftKeychain
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 7639ff4 Update version
Cloned https://github.com/ShenghaiWang/SwiftKeychain.git
Revision (git rev-parse @):
7639ff424dad6ad530e01b641ae8a3296f05d4ef
SUCCESS checkout https://github.com/ShenghaiWang/SwiftKeychain.git at main
Fetching https://github.com/apple/swift-docc-symbolkit
Fetching https://github.com/apple/swift-docc-plugin
[1/2038] Fetching swift-docc-plugin
[226/5225] Fetching swift-docc-plugin, swift-docc-symbolkit
Fetched https://github.com/apple/swift-docc-symbolkit from cache (1.26s)
Fetched https://github.com/apple/swift-docc-plugin from cache (1.26s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.3.0 (0.54s)
Computing version for https://github.com/apple/swift-docc-symbolkit
Computed https://github.com/apple/swift-docc-symbolkit at 1.0.0 (0.57s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.3.0
Creating working copy for https://github.com/apple/swift-docc-symbolkit
Working copy of https://github.com/apple/swift-docc-symbolkit resolved at 1.0.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "swiftkeychain",
"name": "SwiftKeychain",
"url": "https://github.com/ShenghaiWang/SwiftKeychain.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftKeychain",
"dependencies": [
]
}
]
}
Fetching https://github.com/ShenghaiWang/SwiftKeychain.git
[1/76] Fetching swiftkeychain
Fetched https://github.com/ShenghaiWang/SwiftKeychain.git from cache (0.67s)
Creating working copy for https://github.com/ShenghaiWang/SwiftKeychain.git
Working copy of https://github.com/ShenghaiWang/SwiftKeychain.git resolved at main (7639ff4)
warning: '.resolve-product-dependencies': dependency 'swiftkeychain' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/ShenghaiWang/SwiftKeychain.git
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "SwiftKeychain",
"name" : "SwiftKeychain",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "tvos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "SwiftKeychain",
"targets" : [
"SwiftKeychain"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftKeychainTests",
"module_type" : "SwiftTarget",
"name" : "SwiftKeychainTests",
"path" : "Tests/SwiftKeychainTests",
"sources" : [
"SwiftKeychainTests.swift"
],
"target_dependencies" : [
"SwiftKeychain"
],
"type" : "test"
},
{
"c99name" : "SwiftKeychain",
"module_type" : "SwiftTarget",
"name" : "SwiftKeychain",
"path" : "Sources/SwiftKeychain",
"product_memberships" : [
"SwiftKeychain"
],
"sources" : [
"AttibuteValueType/AccessibilityValue.swift",
"AttibuteValueType/AuthenticationType.swift",
"AttibuteValueType/CertificateEncoding.swift",
"AttibuteValueType/CertificateType.swift",
"AttibuteValueType/KeyClass.swift",
"AttibuteValueType/KeyType.swift",
"AttibuteValueType/ProtocolType.swift",
"Extension/SecAccess.swift",
"Extension/SecAccessControl.swift",
"Extension/SecPolicy.swift",
"Item/Certificate.swift",
"Item/GenericPassword.swift",
"Item/Identity.swift",
"Item/InternetPassword.swift",
"Item/Item.swift",
"Item/ItemValue.swift",
"Item/Key.swift",
"Item/KeyValue.swift",
"KeychainError.swift",
"Result/OperationResult.swift",
"Result/ResultKey.swift",
"Search/SearchAttribute.swift",
"SwiftKeychain.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
[1/1] Compiling plugin Swift-DocC
[2/2] Compiling plugin Swift-DocC Preview
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version--7754E27361AE5C74.txt
[5/26] Emitting module SwiftKeychain
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:22:23: warning: static property 'certificate' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
| `- warning: static property 'certificate' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
| |- note: annotate 'certificate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:20:23: warning: static property 'genericPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public static let genericPassword = kSecClassGenericPassword
| |- warning: static property 'genericPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'genericPassword' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:24:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | }
26 |
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:21:23: warning: static property 'internetPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
| |- warning: static property 'internetPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'internetPassword' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:23:23: warning: static property 'key' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
| |- warning: static property 'key' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'key' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | public static let identity = kSecClassIdentity
25 | }
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:6:24: warning: static property 'queue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
4 | /// The main class handles keychain operations(`Add`, `Search`, `Update` and `Delete`)
5 | public class SwiftKeychain {
6 | private static var queue: DispatchQueue = {
| |- warning: static property 'queue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'queue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'queue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 | let queue = DispatchQueue(label: "swift.keychain.tw")
8 | return queue
[6/28] Compiling SwiftKeychain AccessibilityValue.swift
[7/28] Compiling SwiftKeychain AuthenticationType.swift
[8/28] Compiling SwiftKeychain CertificateEncoding.swift
[9/28] Compiling SwiftKeychain GenericPassword.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:20:23: warning: static property 'genericPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public static let genericPassword = kSecClassGenericPassword
| `- warning: static property 'genericPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
18 | }
19 |
20 | public static let genericPassword = kSecClassGenericPassword
| |- note: annotate 'genericPassword' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:24:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | }
26 |
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[10/28] Compiling SwiftKeychain Identity.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:20:23: warning: static property 'genericPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public static let genericPassword = kSecClassGenericPassword
| `- warning: static property 'genericPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
18 | }
19 |
20 | public static let genericPassword = kSecClassGenericPassword
| |- note: annotate 'genericPassword' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:24:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | }
26 |
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[11/28] Compiling SwiftKeychain SecPolicy.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:22:23: warning: static property 'certificate' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
| `- warning: static property 'certificate' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
| |- note: annotate 'certificate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
[12/28] Compiling SwiftKeychain Certificate.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:22:23: warning: static property 'certificate' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
| `- warning: static property 'certificate' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
| |- note: annotate 'certificate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
[13/28] Compiling SwiftKeychain ItemValue.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:23:23: warning: static property 'key' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
| `- warning: static property 'key' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
24 | public static let identity = kSecClassIdentity
25 | }
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
| |- note: annotate 'key' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | public static let identity = kSecClassIdentity
25 | }
[14/28] Compiling SwiftKeychain Key.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:23:23: warning: static property 'key' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
| `- warning: static property 'key' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
24 | public static let identity = kSecClassIdentity
25 | }
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
| |- note: annotate 'key' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | public static let identity = kSecClassIdentity
25 | }
[15/28] Compiling SwiftKeychain KeyValue.swift
[16/28] Compiling SwiftKeychain KeychainError.swift
[17/28] Compiling SwiftKeychain SearchAttribute.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:6:24: warning: static property 'queue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
4 | /// The main class handles keychain operations(`Add`, `Search`, `Update` and `Delete`)
5 | public class SwiftKeychain {
6 | private static var queue: DispatchQueue = {
| |- warning: static property 'queue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'queue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'queue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 | let queue = DispatchQueue(label: "swift.keychain.tw")
8 | return queue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:38:13: warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 | completion: @escaping (OperationResult) -> Void) {
37 | queue.async {
38 | completion(add(item: item, results: results))
| |- warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:38:34: warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 | completion: @escaping (OperationResult) -> Void) {
37 | queue.async {
38 | completion(add(item: item, results: results))
| `- warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:3:13: note: consider making enum 'Item' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum Item {
| `- note: consider making enum 'Item' conform to the 'Sendable' protocol
4 | case genericPassword(GenericPassword)
5 | case internetPassword(InternetPassword)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:38:49: warning: capture of 'results' with non-sendable type '[ResultKey]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 | completion: @escaping (OperationResult) -> Void) {
37 | queue.async {
38 | completion(add(item: item, results: results))
| `- warning: capture of 'results' with non-sendable type '[ResultKey]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Result/ResultKey.swift:3:13: note: consider making enum 'ResultKey' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum ResultKey {
| `- note: consider making enum 'ResultKey' conform to the 'Sendable' protocol
4 | /// A key whose value is a Boolean indicating whether or not to return item data.
5 | case data
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:89:13: warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | completion: @escaping (OperationResult) -> Void) {
88 | queue.async {
89 | completion(search(item: item, with: searchAttributes, results: results))
| |- warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:89:37: warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | completion: @escaping (OperationResult) -> Void) {
88 | queue.async {
89 | completion(search(item: item, with: searchAttributes, results: results))
| `- warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:3:13: note: consider making enum 'Item' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum Item {
| `- note: consider making enum 'Item' conform to the 'Sendable' protocol
4 | case genericPassword(GenericPassword)
5 | case internetPassword(InternetPassword)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:89:49: warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | completion: @escaping (OperationResult) -> Void) {
88 | queue.async {
89 | completion(search(item: item, with: searchAttributes, results: results))
| `- warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Search/SearchAttribute.swift:4:13: note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
2 | import LocalAuthentication
3 |
4 | public enum SearchAttribute: KeyValue {
| `- note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
5 | /// A key whose value indicates a policy with which a matching certificate or identity must verify.
6 | case policy(SecPolicy)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:89:76: warning: capture of 'results' with non-sendable type '[ResultKey]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | completion: @escaping (OperationResult) -> Void) {
88 | queue.async {
89 | completion(search(item: item, with: searchAttributes, results: results))
| `- warning: capture of 'results' with non-sendable type '[ResultKey]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Result/ResultKey.swift:3:13: note: consider making enum 'ResultKey' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum ResultKey {
| `- note: consider making enum 'ResultKey' conform to the 'Sendable' protocol
4 | /// A key whose value is a Boolean indicating whether or not to return item data.
5 | case data
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:141:13: warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | completion: @escaping (OperationResult) -> Void) {
140 | queue.async {
141 | completion(update(item: item, with: searchAttributes, to: newItem))
| |- warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
142 | }
143 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:141:37: warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | completion: @escaping (OperationResult) -> Void) {
140 | queue.async {
141 | completion(update(item: item, with: searchAttributes, to: newItem))
| `- warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 | }
143 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:3:13: note: consider making enum 'Item' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum Item {
| `- note: consider making enum 'Item' conform to the 'Sendable' protocol
4 | case genericPassword(GenericPassword)
5 | case internetPassword(InternetPassword)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:141:49: warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | completion: @escaping (OperationResult) -> Void) {
140 | queue.async {
141 | completion(update(item: item, with: searchAttributes, to: newItem))
| `- warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 | }
143 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Search/SearchAttribute.swift:4:13: note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
2 | import LocalAuthentication
3 |
4 | public enum SearchAttribute: KeyValue {
| `- note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
5 | /// A key whose value indicates a policy with which a matching certificate or identity must verify.
6 | case policy(SecPolicy)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:141:71: warning: capture of 'newItem' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | completion: @escaping (OperationResult) -> Void) {
140 | queue.async {
141 | completion(update(item: item, with: searchAttributes, to: newItem))
| `- warning: capture of 'newItem' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 | }
143 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:3:13: note: consider making enum 'Item' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum Item {
| `- note: consider making enum 'Item' conform to the 'Sendable' protocol
4 | case genericPassword(GenericPassword)
5 | case internetPassword(InternetPassword)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:188:13: warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | completion: @escaping (OperationResult) -> Void) {
187 | queue.async {
188 | completion(delete(item: item, with: searchAttributes))
| |- warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
189 | }
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:188:37: warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | completion: @escaping (OperationResult) -> Void) {
187 | queue.async {
188 | completion(delete(item: item, with: searchAttributes))
| `- warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 | }
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:3:13: note: consider making enum 'Item' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum Item {
| `- note: consider making enum 'Item' conform to the 'Sendable' protocol
4 | case genericPassword(GenericPassword)
5 | case internetPassword(InternetPassword)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:188:49: warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | completion: @escaping (OperationResult) -> Void) {
187 | queue.async {
188 | completion(delete(item: item, with: searchAttributes))
| `- warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 | }
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Search/SearchAttribute.swift:4:13: note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
2 | import LocalAuthentication
3 |
4 | public enum SearchAttribute: KeyValue {
| `- note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
5 | /// A key whose value indicates a policy with which a matching certificate or identity must verify.
6 | case policy(SecPolicy)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:21:23: warning: static property 'internetPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
| `- warning: static property 'internetPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
19 |
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
| |- note: annotate 'internetPassword' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:52:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
50 | await withCheckedContinuation { continuation in
51 | add(item: item, results: results) { result in
52 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
53 | }
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:105:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
103 | await withCheckedContinuation { continuation in
104 | search(item: item, with: searchAttributes, results: results) { result in
105 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
106 | }
107 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:157:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
155 | await withCheckedContinuation { continuation in
156 | update(item: item, with: searchAttributes, to: newItem) { result in
157 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
158 | }
159 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:202:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
200 | await withCheckedContinuation { continuation in
201 | delete(item: item, with: searchAttributes) { result in
202 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
203 | }
204 | }
[18/28] Compiling SwiftKeychain SwiftKeychain.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:6:24: warning: static property 'queue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
4 | /// The main class handles keychain operations(`Add`, `Search`, `Update` and `Delete`)
5 | public class SwiftKeychain {
6 | private static var queue: DispatchQueue = {
| |- warning: static property 'queue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'queue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'queue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 | let queue = DispatchQueue(label: "swift.keychain.tw")
8 | return queue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:38:13: warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 | completion: @escaping (OperationResult) -> Void) {
37 | queue.async {
38 | completion(add(item: item, results: results))
| |- warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:38:34: warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 | completion: @escaping (OperationResult) -> Void) {
37 | queue.async {
38 | completion(add(item: item, results: results))
| `- warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:3:13: note: consider making enum 'Item' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum Item {
| `- note: consider making enum 'Item' conform to the 'Sendable' protocol
4 | case genericPassword(GenericPassword)
5 | case internetPassword(InternetPassword)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:38:49: warning: capture of 'results' with non-sendable type '[ResultKey]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 | completion: @escaping (OperationResult) -> Void) {
37 | queue.async {
38 | completion(add(item: item, results: results))
| `- warning: capture of 'results' with non-sendable type '[ResultKey]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Result/ResultKey.swift:3:13: note: consider making enum 'ResultKey' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum ResultKey {
| `- note: consider making enum 'ResultKey' conform to the 'Sendable' protocol
4 | /// A key whose value is a Boolean indicating whether or not to return item data.
5 | case data
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:89:13: warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | completion: @escaping (OperationResult) -> Void) {
88 | queue.async {
89 | completion(search(item: item, with: searchAttributes, results: results))
| |- warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:89:37: warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | completion: @escaping (OperationResult) -> Void) {
88 | queue.async {
89 | completion(search(item: item, with: searchAttributes, results: results))
| `- warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:3:13: note: consider making enum 'Item' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum Item {
| `- note: consider making enum 'Item' conform to the 'Sendable' protocol
4 | case genericPassword(GenericPassword)
5 | case internetPassword(InternetPassword)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:89:49: warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | completion: @escaping (OperationResult) -> Void) {
88 | queue.async {
89 | completion(search(item: item, with: searchAttributes, results: results))
| `- warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Search/SearchAttribute.swift:4:13: note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
2 | import LocalAuthentication
3 |
4 | public enum SearchAttribute: KeyValue {
| `- note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
5 | /// A key whose value indicates a policy with which a matching certificate or identity must verify.
6 | case policy(SecPolicy)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:89:76: warning: capture of 'results' with non-sendable type '[ResultKey]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | completion: @escaping (OperationResult) -> Void) {
88 | queue.async {
89 | completion(search(item: item, with: searchAttributes, results: results))
| `- warning: capture of 'results' with non-sendable type '[ResultKey]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | }
91 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Result/ResultKey.swift:3:13: note: consider making enum 'ResultKey' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum ResultKey {
| `- note: consider making enum 'ResultKey' conform to the 'Sendable' protocol
4 | /// A key whose value is a Boolean indicating whether or not to return item data.
5 | case data
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:141:13: warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | completion: @escaping (OperationResult) -> Void) {
140 | queue.async {
141 | completion(update(item: item, with: searchAttributes, to: newItem))
| |- warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
142 | }
143 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:141:37: warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | completion: @escaping (OperationResult) -> Void) {
140 | queue.async {
141 | completion(update(item: item, with: searchAttributes, to: newItem))
| `- warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 | }
143 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:3:13: note: consider making enum 'Item' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum Item {
| `- note: consider making enum 'Item' conform to the 'Sendable' protocol
4 | case genericPassword(GenericPassword)
5 | case internetPassword(InternetPassword)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:141:49: warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | completion: @escaping (OperationResult) -> Void) {
140 | queue.async {
141 | completion(update(item: item, with: searchAttributes, to: newItem))
| `- warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 | }
143 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Search/SearchAttribute.swift:4:13: note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
2 | import LocalAuthentication
3 |
4 | public enum SearchAttribute: KeyValue {
| `- note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
5 | /// A key whose value indicates a policy with which a matching certificate or identity must verify.
6 | case policy(SecPolicy)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:141:71: warning: capture of 'newItem' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | completion: @escaping (OperationResult) -> Void) {
140 | queue.async {
141 | completion(update(item: item, with: searchAttributes, to: newItem))
| `- warning: capture of 'newItem' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
142 | }
143 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:3:13: note: consider making enum 'Item' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum Item {
| `- note: consider making enum 'Item' conform to the 'Sendable' protocol
4 | case genericPassword(GenericPassword)
5 | case internetPassword(InternetPassword)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:188:13: warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | completion: @escaping (OperationResult) -> Void) {
187 | queue.async {
188 | completion(delete(item: item, with: searchAttributes))
| |- warning: capture of 'completion' with non-sendable type '(OperationResult) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
189 | }
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:188:37: warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | completion: @escaping (OperationResult) -> Void) {
187 | queue.async {
188 | completion(delete(item: item, with: searchAttributes))
| `- warning: capture of 'item' with non-sendable type 'Item' in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 | }
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:3:13: note: consider making enum 'Item' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum Item {
| `- note: consider making enum 'Item' conform to the 'Sendable' protocol
4 | case genericPassword(GenericPassword)
5 | case internetPassword(InternetPassword)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:188:49: warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | completion: @escaping (OperationResult) -> Void) {
187 | queue.async {
188 | completion(delete(item: item, with: searchAttributes))
| `- warning: capture of 'searchAttributes' with non-sendable type '[SearchAttribute]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
189 | }
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Search/SearchAttribute.swift:4:13: note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
2 | import LocalAuthentication
3 |
4 | public enum SearchAttribute: KeyValue {
| `- note: consider making enum 'SearchAttribute' conform to the 'Sendable' protocol
5 | /// A key whose value indicates a policy with which a matching certificate or identity must verify.
6 | case policy(SecPolicy)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:21:23: warning: static property 'internetPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
| `- warning: static property 'internetPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
19 |
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
| |- note: annotate 'internetPassword' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:52:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
50 | await withCheckedContinuation { continuation in
51 | add(item: item, results: results) { result in
52 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
53 | }
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:105:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
103 | await withCheckedContinuation { continuation in
104 | search(item: item, with: searchAttributes, results: results) { result in
105 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
106 | }
107 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:157:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
155 | await withCheckedContinuation { continuation in
156 | update(item: item, with: searchAttributes, to: newItem) { result in
157 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
158 | }
159 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/SwiftKeychain.swift:202:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
200 | await withCheckedContinuation { continuation in
201 | delete(item: item, with: searchAttributes) { result in
202 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
203 | }
204 | }
[19/28] Compiling SwiftKeychain InternetPassword.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:21:23: warning: static property 'internetPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
| `- warning: static property 'internetPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
19 |
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
| |- note: annotate 'internetPassword' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:20:23: warning: static property 'genericPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public static let genericPassword = kSecClassGenericPassword
| |- warning: static property 'genericPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'genericPassword' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:22:23: warning: static property 'certificate' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
| |- warning: static property 'certificate' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'certificate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:23:23: warning: static property 'key' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
| |- warning: static property 'key' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'key' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | public static let identity = kSecClassIdentity
25 | }
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:24:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | }
26 |
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[20/28] Compiling SwiftKeychain Item.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:21:23: warning: static property 'internetPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
| `- warning: static property 'internetPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
1 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
2 |
3 | public enum Item {
:
19 |
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
| |- note: annotate 'internetPassword' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:20:23: warning: static property 'genericPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
18 | }
19 |
20 | public static let genericPassword = kSecClassGenericPassword
| |- warning: static property 'genericPassword' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'genericPassword' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:22:23: warning: static property 'certificate' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
20 | public static let genericPassword = kSecClassGenericPassword
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
| |- warning: static property 'certificate' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'certificate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:23:23: warning: static property 'key' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
21 | public static let internetPassword = kSecClassInternetPassword
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
| |- warning: static property 'key' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'key' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | public static let identity = kSecClassIdentity
25 | }
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Item/Item.swift:24:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
22 | public static let certificate = kSecClassCertificate
23 | public static let key = kSecClassKey
24 | public static let identity = kSecClassIdentity
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'CFString' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | }
26 |
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[21/28] Compiling SwiftKeychain ProtocolType.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Extension/SecAccess.swift:8:22: warning: 'SecAccessCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
6 | accessRef: UnsafeMutablePointer<SecAccess?>) throws -> SecAccess {
7 | var access: SecAccess?
8 | let status = SecAccessCreate(name as CFString, trustedlist as CFArray, &access)
| `- warning: 'SecAccessCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
9 | if let access {
10 | return access
[22/28] Compiling SwiftKeychain SecAccess.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Extension/SecAccess.swift:8:22: warning: 'SecAccessCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
6 | accessRef: UnsafeMutablePointer<SecAccess?>) throws -> SecAccess {
7 | var access: SecAccess?
8 | let status = SecAccessCreate(name as CFString, trustedlist as CFArray, &access)
| `- warning: 'SecAccessCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
9 | if let access {
10 | return access
[23/28] Compiling SwiftKeychain SecAccessControl.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeychain/Extension/SecAccess.swift:8:22: warning: 'SecAccessCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
6 | accessRef: UnsafeMutablePointer<SecAccess?>) throws -> SecAccess {
7 | var access: SecAccess?
8 | let status = SecAccessCreate(name as CFString, trustedlist as CFArray, &access)
| `- warning: 'SecAccessCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
9 | if let access {
10 | return access
[24/28] Compiling SwiftKeychain CertificateType.swift
[25/28] Compiling SwiftKeychain KeyClass.swift
[26/28] Compiling SwiftKeychain KeyType.swift
[27/28] Compiling SwiftKeychain OperationResult.swift
[28/28] Compiling SwiftKeychain ResultKey.swift
Build complete! (30.19s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "SwiftKeychain",
"name" : "SwiftKeychain",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "tvos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "SwiftKeychain",
"targets" : [
"SwiftKeychain"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftKeychainTests",
"module_type" : "SwiftTarget",
"name" : "SwiftKeychainTests",
"path" : "Tests/SwiftKeychainTests",
"sources" : [
"SwiftKeychainTests.swift"
],
"target_dependencies" : [
"SwiftKeychain"
],
"type" : "test"
},
{
"c99name" : "SwiftKeychain",
"module_type" : "SwiftTarget",
"name" : "SwiftKeychain",
"path" : "Sources/SwiftKeychain",
"product_memberships" : [
"SwiftKeychain"
],
"sources" : [
"AttibuteValueType/AccessibilityValue.swift",
"AttibuteValueType/AuthenticationType.swift",
"AttibuteValueType/CertificateEncoding.swift",
"AttibuteValueType/CertificateType.swift",
"AttibuteValueType/KeyClass.swift",
"AttibuteValueType/KeyType.swift",
"AttibuteValueType/ProtocolType.swift",
"Extension/SecAccess.swift",
"Extension/SecAccessControl.swift",
"Extension/SecPolicy.swift",
"Item/Certificate.swift",
"Item/GenericPassword.swift",
"Item/Identity.swift",
"Item/InternetPassword.swift",
"Item/Item.swift",
"Item/ItemValue.swift",
"Item/Key.swift",
"Item/KeyValue.swift",
"KeychainError.swift",
"Result/OperationResult.swift",
"Result/ResultKey.swift",
"Search/SearchAttribute.swift",
"SwiftKeychain.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.