fix app lock hanging on macOS and blocking the photo picker
- Lock only when the scene really backgrounds: transient inactive states (system photo picker, app switcher) no longer swap in the lock screen and break gallery selection on iOS. - Cache biometric availability once per session off the main thread instead of calling LAContext.canEvaluatePolicy in view bodies, which froze the macOS lock screen, and auto-prompt biometrics on iOS only. - Keep UI tests as an opt-in target and guard both fixes in verify.sh.
This commit is contained in:
1 parent
8b86e33186
commit
6ed5cb3ce9
9 files changed
+86
-78
No files matched your search
@@ -11,7 +11,20 @@ struct LumaApp: App {
|
||||
RootView(model: model)
|
||||
.tint(Color(red: 0.14, green: 0.56, blue: 0.96))
|
||||
.onChange(of: scenePhase) { _, phase in
|
||||
model.setApplicationActive(phase == .active)
|
||||
switch phase {
|
||||
case .active:
|
||||
model.setApplicationActive(true)
|
||||
case .background:
|
||||
model.setApplicationActive(false)
|
||||
case .inactive:
|
||||
// App switcher, Control Center and system pickers
|
||||
// (photo gallery) make the scene briefly inactive;
|
||||
// locking here would block the picker and the
|
||||
// unlock screen would replace the app mid-flow.
|
||||
break
|
||||
@unknown default:
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
#if os(macOS)
|
||||
|
||||
Reference in new issue
Block a user