Skip to content

Commit

Permalink
Add Sendable conformance
Browse files Browse the repository at this point in the history
  • Loading branch information
Widcket committed Jan 16, 2025
1 parent 6b5fb6d commit 309c7f2
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion SimpleKeychain/Accessibility.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Security

/// Represents the accessibility types of Keychain items. It's a mirror of `kSecAttrAccessible` values.
public enum Accessibility: RawRepresentable {
public enum Accessibility: RawRepresentable, Sendable {

/// The data in the Keychain item can be accessed only while the device is unlocked by the user.
/// See [kSecAttrAccessibleWhenUnlocked](https://developer.apple.com/documentation/security/ksecattraccessiblewhenunlocked).
Expand Down
10 changes: 5 additions & 5 deletions SimpleKeychain/SimpleKeychain.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Foundation
import Security
#if canImport(LocalAuthentication)
import LocalAuthentication
@preconcurrency import LocalAuthentication
#endif

typealias RetrieveFunction = (_ query: CFDictionary, _ result: UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus
Expand All @@ -10,16 +10,16 @@ typealias RemoveFunction = (_ query: CFDictionary) -> OSStatus
/// A simple Keychain wrapper for iOS, macOS, tvOS, and watchOS.
/// Supports sharing credentials with an **access group** or through **iCloud**, and integrating
/// **Touch ID / Face ID**.
public struct SimpleKeychain {
public struct SimpleKeychain: Sendable {
let service: String
let accessGroup: String?
let accessibility: Accessibility
let accessControlFlags: SecAccessControlCreateFlags?
let isSynchronizable: Bool
let attributes: [String: Any]
nonisolated(unsafe) let attributes: [String: Any]

var retrieve: RetrieveFunction = SecItemCopyMatching
var remove: RemoveFunction = SecItemDelete
nonisolated(unsafe) var retrieve: RetrieveFunction = SecItemCopyMatching
nonisolated(unsafe) var remove: RemoveFunction = SecItemDelete

#if canImport(LocalAuthentication) && !os(tvOS)
let context: LAContext?
Expand Down

0 comments on commit 309c7f2

Please sign in to comment.