Troubleshooting
Feedback or progress is missing
The production UI options default to hidden. Enable them explicitly:
let style = MBUIOptions(
showProgressBar: true,
showFaceStatusLabel: true,
showCountdownTimerLabel: true
)
Debug mode is not required.
Capture remains on “Checking lighting”
- Confirm that the full face is visible inside the overlay.
- Hold the device still while the SDK obtains a fresh measurement.
- Avoid strong backlight and rapidly changing illumination.
- Start with
.level2while testing V3 behavior.
The face looks valid but capture does not start
With V3, geometry can be valid while lighting still fails. Inspect imageQualityStatus or show the face status label. Also confirm that automatic capture is enabled.
Video duration is unexpected
videoCaptureDuration is measured in milliseconds and is clamped to 1000...3000:
let options = MBCaptureSessionOptions(videoCaptureDuration: 2_000)
Camera does not open
- Add
NSCameraUsageDescriptiontoInfo.plist. - Check that camera access is enabled for the application in iOS Settings.
- Test camera behavior on a physical device.
- Stop the capture view when its screen disappears.
Orientation or framing is incorrect
- Enable the required orientations on the application target.
- Keep the capture view constrained to the visible view bounds.
- Use
.fitwhen the entire camera frame must remain visible or.fillwhen the preview should cover the available area.
Session metadata is nil
Pass a sessionId into MBCaptureSessionViewController or onStartCapturing(sessionId:). Metadata also requires device metadata to be available.
The stored image appears different from the preview
The front-camera preview is intentionally mirrored. Stored images and video are unmirrored so output orientation is consistent across iOS and Android.