@@ -23,32 +23,36 @@ struct ExampleLivenessView: View {
23
23
FaceLivenessDetectorView (
24
24
sessionID: viewModel. sessionID,
25
25
region: " us-east-1 " ,
26
+ disableStartView: true ,
26
27
isPresented: Binding (
27
28
get: { viewModel. presentationState == . liveness } ,
28
29
set: { _ in }
29
30
) ,
30
31
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
32
+ print ( " \( #function) result: \( result) " )
33
+ DispatchQueue . main. async {
34
+ switch result {
35
+ case . success:
36
+ withAnimation { viewModel. presentationState = . result }
37
+ case . failure( . sessionNotFound) , . failure( . cameraPermissionDenied) , . failure( . accessDenied) :
38
+ viewModel. presentationState = . liveness
39
+ isPresented = false
40
+ case . failure( . userCancelled) :
41
+ viewModel. presentationState = . liveness
42
+ isPresented = false
43
+ case . failure( . sessionTimedOut) :
44
+ viewModel. presentationState = . error( . sessionTimedOut)
45
+ case . failure( . socketClosed) :
46
+ viewModel. presentationState = . error( . socketClosed)
47
+ case . failure( . countdownNoFace) , . failure( . countdownFaceTooClose) , . failure( . countdownMultipleFaces) :
48
+ viewModel. presentationState = . error( . countdownFaceTooClose)
49
+ case . failure( . invalidSignature) :
50
+ viewModel. presentationState = . error( . invalidSignature)
51
+ case . failure( . cameraNotAvailable) :
52
+ viewModel. presentationState = . error( . cameraNotAvailable)
53
+ default :
54
+ viewModel. presentationState = . liveness
55
+ }
52
56
}
53
57
}
54
58
)
0 commit comments