Skip to main content

Is the SDK safe to run in production?

Yes. The SDK is designed to run continuously during delivery sessions:
  • It batches telemetry to reduce network overhead.
  • It uses efficient system APIs for motion and networking.
  • You control which environment it talks to (.sandbox vs .live).
We still recommend starting with a small pilot group and monitoring app performance and crash reports.

What happens if the device is offline?

If the device is temporarily offline:
  • startSession and stopSession may fail if the backend cannot be reached.
  • Telemetry uploads can be delayed until connectivity returns.
Integration tips:
  • Handle errors from startSession and stopSession gracefully in your UI.
  • Consider allowing drivers to retry stopSession if the first attempt fails.

Can I disable or remove the SDK?

Yes. You can:
  • Stop calling Desmo.setup and any session APIs.
  • Remove the DesmoTraceSDK package from your app target in Xcode.
If you need to immediately disable ingest on the backend side, you can revoke the publishable key in the Desmo dashboard.

How do I test without affecting production data?

Use:
  • A sandbox publishable key (pk_sandbox_...).
  • environment: .sandbox when calling Desmo.setup.
This keeps test sessions and telemetry separate from live deliveries. You can create dedicated sandbox projects/tenants as needed.

What are session types and when should I use each?

Every session requires a SessionType:
TypeWhen to use
.pickupDriver is collecting a package
.dropDriver is delivering a package
.transitDriver is traveling between stops
For .pickup and .drop, you must provide an address. For .transit, the address is optional.

How do I request permissions upfront?

Call Desmo.requestPermissions() during app onboarding to ensure all sensor data flows immediately when sessions start:
Desmo.requestPermissions {
    if Desmo.hasRequiredPermissions() {
        // Ready to record
    }
}
This is optional but recommended for best data quality.

How do I see what the SDK is doing?

  • Enable logging (the default) so that:
    • Session start/stop and HTTP status codes are printed to the console.
    • You can see basic telemetry upload behavior.
  • Use the Logging, Debugging & Troubleshooting guide for a detailed checklist.

How do I upgrade the SDK?

When a new version is released:
  1. In Xcode, open Package Dependencies.
  2. Update desmo-iOS-sdk to the desired version (for example, bump the minimum from 1.0.2 to a newer tag).
  3. Rebuild and rerun your tests.
Because integration goes through Desmo.setup, startSession, and stopSession, most changes are backwards compatible as long as you stay within the same major version.

Who do I contact for support?

For API keys, backend configuration, or integration questions:
  • Reach out to your Desmo contact.
  • Or use the support channel linked from the Desmo dashboard.