Error handling
All error handling for the iOS SDK is centralized in this section. The onErrorAcessoBioManager callback receives an ErrorBio object exposing getCode() and getDescription().
Error codes
| Code | Description |
|---|---|
73000 | The session was cancelled because of an unknown and unexpected error. The Unico Check SDK leverages a variety of iOS APIs including camera, storage, security, networking, and more — this is a catch-all. |
73001 | Context invalid |
73003 | The API version needs to be 13 or newer |
73006 | Unable to open camera on emulators |
73100 | Unable to connect to internet |
73200 | Could not find the unico_sdk JSON file |
73202 | Unable to load unico_sdk JSON file |
73203 | Unable to load AcessoBioConfigDataSource |
73204 | Unable to initialize the SDK — configure the environment via setEnvironment on build |
73300 | Unable to get unico authentication object |
73301 | Unable to parse unico authentication object |
73302 | Could not find the unico token |
73701 | Could not find active liveness import |
73702 | Unable to initialize active liveness in production mode |
73703 | Unable to get active liveness session |
73704 | The user pressed the cancel button and did not complete the session |
73705 | The session was not performed successfully and a FaceScan was not generated |
73706 | Camera access denied — user explicitly denied permission or device policy blocks it |
73707 | The session was cancelled due to the app being terminated, sleeping, OS notification, or backgrounded |
73708 | The session was cancelled because the device is in landscape mode |
73709 | The session was cancelled because the device is in reverse portrait mode |
73710 | The session was cancelled because the user was unable to complete it within the allotted timeout |
73711 | The session was cancelled due to memory pressure |
73712 | The session was cancelled because your app is not in production and requires a network connection |
73713 | The session was cancelled because your key needs to be validated again |
73714 | The session was cancelled because the developer-configured encryption key was not valid |
73715 | The session was cancelled because not all guidance images were configured |
73716 | The session was cancelled because the SDK was unable to start the camera on this device |
73717 | The session was cancelled because the user was in a locked-out state |
73718 | Unknown and unexpected error during normal usage of iOS APIs |
73719 | The session was cancelled because the user pressed the Get Ready screen subtext message |
73720 | The session was not processed |
73721 | The session can't be performed: attempts limit exceeded |
73722 | The session can't be performed: face alignment timeout |
73730 | Unable to initialize an active liveness session — unknown license error |
73731 | Unable to initialize an active liveness session — license expired |
73800 | Could not build encrypted key |
Official error catalog
The codes above reflect the iOS SDK catalog. The official cross-platform error code catalog is available at API Reference > Error codes.
Lifecycle callbacks
In addition to onErrorAcessoBioManager, the SDK also triggers:
onUserClosedCameraManually()— user closed the camera manually.onSystemClosedCameraTimeoutSession()— session expired due to timeout (default 40 s, minimum 40 s).onSystemChangedTypeCameraTimeoutFaceInference()— face detection exceeded the 13 s threshold; capture switches to manual mode.
Callback routing for cancellations and timeouts
Errors 73704 (user cancelled) and 73710 (session timeout) are not delivered through onErrorAcessoBioManager. They trigger the corresponding lifecycle callbacks directly:
73704→onUserClosedCameraManually()73710→onSystemClosedCameraTimeoutSession()