From e43cefa11767c9c0d89030a2461c3524d37c7cb1 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sat, 16 May 2026 09:16:04 +0600 Subject: [PATCH] [2026-05-16] reflect-app: app lock docs --- personal/projects/psychologist-app/dev-setup.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/personal/projects/psychologist-app/dev-setup.md b/personal/projects/psychologist-app/dev-setup.md index 05657b25..2e53a30b 100644 --- a/personal/projects/psychologist-app/dev-setup.md +++ b/personal/projects/psychologist-app/dev-setup.md @@ -158,3 +158,17 @@ Documents/UserProfile/ - ProfileManagerTests: 6/6 (включая onboarding init) - SessionSchedulerTests: 3/3 - **ИТОГО: 30/30, 0 failures** + +## App Lock (Face ID / Touch ID / Passcode) + +**Файлы:** +- `Services/AppLockService.swift` — `@MainActor ObservableObject`, `LAContext`, состояние +- `Views/LockView.swift` — экран блокировки, автоматически запускает биометрию при появлении +- `ReflectApp.swift` — `checkOnLaunch()` при старте, `scenePhase.background → lock()` +- `SettingsView.swift` — секция "Безопасность" с Toggle + +**Поведение:** +- Включение/выключение требует подтверждения биометрией +- При уходе в фон (`scenePhase == .background`) — блокируется +- При возврате — LockView показывается поверх всего, сразу запрашивает биометрию +- Симулятор: биометрия эмулируется через Features → Face ID → Enrolled