@@ -28,27 +28,29 @@ struct ExampleLivenessView: View {
28
28
set: { _ in }
29
29
) ,
30
30
onCompletion: { result in
31
- switch result {
32
- case . success:
33
- withAnimation { viewModel. presentationState = . result }
34
- case . failure( . sessionNotFound) , . failure( . cameraPermissionDenied) , . failure( . accessDenied) :
35
- viewModel. presentationState = . liveness
36
- isPresented = false
37
- case . failure( . userCancelled) :
38
- viewModel. presentationState = . liveness
39
- isPresented = false
40
- case . failure( . sessionTimedOut) :
41
- viewModel. presentationState = . error( . sessionTimedOut)
42
- case . failure( . socketClosed) :
43
- viewModel. presentationState = . error( . socketClosed)
44
- case . failure( . countdownNoFace) , . failure( . countdownFaceTooClose) , . failure( . countdownMultipleFaces) :
45
- viewModel. presentationState = . error( . countdownFaceTooClose)
46
- case . failure( . invalidSignature) :
47
- viewModel. presentationState = . error( . invalidSignature)
48
- case . failure( . cameraNotAvailable) :
49
- viewModel. presentationState = . error( . cameraNotAvailable)
50
- default :
51
- viewModel. presentationState = . liveness
31
+ DispatchQueue . main. async {
32
+ switch result {
33
+ case . success:
34
+ withAnimation { viewModel. presentationState = . result }
35
+ case . failure( . sessionNotFound) , . failure( . cameraPermissionDenied) , . failure( . accessDenied) :
36
+ viewModel. presentationState = . liveness
37
+ isPresented = false
38
+ case . failure( . userCancelled) :
39
+ viewModel. presentationState = . liveness
40
+ isPresented = false
41
+ case . failure( . sessionTimedOut) :
42
+ viewModel. presentationState = . error( . sessionTimedOut)
43
+ case . failure( . socketClosed) :
44
+ viewModel. presentationState = . error( . socketClosed)
45
+ case . failure( . countdownNoFace) , . failure( . countdownFaceTooClose) , . failure( . countdownMultipleFaces) :
46
+ viewModel. presentationState = . error( . countdownFaceTooClose)
47
+ case . failure( . invalidSignature) :
48
+ viewModel. presentationState = . error( . invalidSignature)
49
+ case . failure( . cameraNotAvailable) :
50
+ viewModel. presentationState = . error( . cameraNotAvailable)
51
+ default :
52
+ viewModel. presentationState = . liveness
53
+ }
52
54
}
53
55
}
54
56
)
0 commit comments