iOS Debugging

The Sensibill SDK uses the OSLog framework for logging. All Sensibill SDK log statements use SBL-prefixed categories to be identifiable and filterable.

The following categories are provided:

  • SBLAPI for error and debug messages related to API library
  • SBLCapture for error and debug messages related to Capture library
  • SBLSDK for all other SDK debug statements

Example:

The following snippet shows the appearance of various log messages in the XCode Console.

SensibillSDK.start
Type: Debug | Timestamp: 2023-10-31 14:10:57.128719-04:00 | Library: Sensibill | Subsystem: com.getsensibill | Category: SBLSDK
...
SensibillSDK.start will start services
Type: Debug | Timestamp: 2023-10-31 14:10:57.128934-04:00 | Library: Sensibill | Subsystem: com.getsensibill | Category: SBLSDK
...
IdentityService.start
Type: Debug | Timestamp: 2023-10-31 14:10:57.129564-04:00 | Library: Sensibill | Subsystem: com.getsensibill | Category: SBLSDK

Errors

When the error that affects SDK functionality occures, it’s logged with Type: Error, followed by additional information.

The additional information provides details about the cause and/or source of the error. It may include:

  • The domain, code, and message (if available) of the error received from the underlying framework.
  • The name, code, message, and correlationID of the error returned by the Sensibill API. The last field - correlationID - allows Sensibill support to find the matching operation in the server side logs.

Note: when viewing the log in the Console app outside of XCode, any additional information about the error that may contain sensitive data is stripped.