Skip to content

Commit 49b620c

Browse files
authored
fix: handle error on loading view (#154)
1 parent b22ef51 commit 49b620c

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

Diff for: Sources/FaceLiveness/Views/Liveness/FaceLivenessDetectionView.swift

+17-2
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,6 @@ public struct FaceLivenessDetectorView: View {
8282
isPreviewScreenEnabled: !disableStartView
8383
)
8484
)
85-
86-
faceDetector.setFaceDetectionSessionConfigurationWrapper(configuration: viewModel)
8785
}
8886

8987
init(
@@ -142,6 +140,23 @@ public struct FaceLivenessDetectorView: View {
142140
} catch {
143141
throw FaceLivenessDetectionError.accessDenied
144142
}
143+
144+
DispatchQueue.main.async {
145+
if let faceDetector = viewModel.faceDetector as? FaceDetectorShortRange.Model {
146+
faceDetector.setFaceDetectionSessionConfigurationWrapper(configuration: viewModel)
147+
}
148+
}
149+
}
150+
}
151+
.onReceive(viewModel.$livenessState) { output in
152+
switch output.state {
153+
case .encounteredUnrecoverableError(let error):
154+
let closeCode = error.webSocketCloseCode ?? .normalClosure
155+
viewModel.livenessService?.closeSocket(with: closeCode)
156+
isPresented = false
157+
onCompletion(.failure(mapError(error)))
158+
default:
159+
break
145160
}
146161
}
147162
case .awaitingLivenessSession(let challenge):

0 commit comments

Comments
 (0)