23 lines
820 B
Swift
23 lines
820 B
Swift
import Foundation
|
|
import LocalData
|
|
import SharedKit
|
|
|
|
extension StorageKeys {
|
|
/// Stores sensitive location data in keychain with biometric protection.
|
|
struct LastLocationKey: StorageKey {
|
|
typealias Value = SampleLocationData
|
|
|
|
let name = "last_known_location"
|
|
let domain: StorageDomain = .keychain(service: StorageServiceIdentifiers.keychainLocation)
|
|
let security: SecurityPolicy = .keychain(
|
|
accessibility: .afterFirstUnlock,
|
|
accessControl: .userPresence
|
|
)
|
|
let serializer: Serializer<SampleLocationData> = .json
|
|
let owner = "SampleApp"
|
|
let description = "Stores last known location for location-aware features."
|
|
let availability: PlatformAvailability = .phoneOnly
|
|
let syncPolicy: SyncPolicy = .never
|
|
}
|
|
}
|