From cde14bd3877aa7f83e8b89498deb3d2df9517042 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Wed, 14 Jan 2026 10:53:59 -0600 Subject: [PATCH] Update SecureStorgageSample --- SecureStorgageSample/SecureStorgageSampleApp.swift | 6 +++++- SecureStorgageSample/Services/AppStorageCatalog.swift | 3 ++- .../StorageKeys/Keychain/ExternalKeyMaterialKey.swift | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/SecureStorgageSample/SecureStorgageSampleApp.swift b/SecureStorgageSample/SecureStorgageSampleApp.swift index c14a9b9..6d1fdca 100644 --- a/SecureStorgageSample/SecureStorgageSampleApp.swift +++ b/SecureStorgageSample/SecureStorgageSampleApp.swift @@ -12,7 +12,11 @@ import LocalData struct SecureStorgageSampleApp: App { init() { _ = WatchConnectivityService.shared - StorageRouter.shared.registerCatalog(AppStorageCatalog.self) + do { + try StorageRouter.shared.registerCatalog(AppStorageCatalog.self) + } catch { + assertionFailure("Storage catalog registration failed: \(error)") + } Task { await StorageRouter.shared.registerKeyMaterialProvider( ExternalKeyMaterialProvider(), diff --git a/SecureStorgageSample/Services/AppStorageCatalog.swift b/SecureStorgageSample/Services/AppStorageCatalog.swift index 34996bd..c3d96f8 100644 --- a/SecureStorgageSample/Services/AppStorageCatalog.swift +++ b/SecureStorgageSample/Services/AppStorageCatalog.swift @@ -20,7 +20,8 @@ struct AppStorageCatalog: StorageKeyCatalog { StorageKeyEntry(StorageKeys.SyncableSettingKey()), StorageKeyEntry( StorageKeys.ExternalKeyMaterialKey(keyName: ""), - notes: "Key name is dynamic per external source." + nameRule: .prefix(StorageKeys.ExternalKeyMaterialKey.namePrefix), + notes: "Key name is dynamic per external source (prefix matched)." ) ] } diff --git a/SecureStorgageSample/StorageKeys/Keychain/ExternalKeyMaterialKey.swift b/SecureStorgageSample/StorageKeys/Keychain/ExternalKeyMaterialKey.swift index c767d2d..c0737ef 100644 --- a/SecureStorgageSample/StorageKeys/Keychain/ExternalKeyMaterialKey.swift +++ b/SecureStorgageSample/StorageKeys/Keychain/ExternalKeyMaterialKey.swift @@ -17,8 +17,10 @@ extension StorageKeys { let availability: PlatformAvailability = .phoneOnly let syncPolicy: SyncPolicy = .never + static let namePrefix = "externalkey." + init(keyName: String) { - self.name = keyName + self.name = Self.namePrefix + keyName } } }