DJI Osmo Mobile 8 — DockKit motor control APIs not working (setAngularVelocity, setOrientation)

I'm developing an iOS app that uses Apple's DockKit framework to control gimbals. I've tested with the Insta360 Flow 2 Pro and the DJI Osmo Mobile 8.

The Flow 2 Pro supports all DockKit motor control APIs — setAngularVelocity, setOrientation, setLimits — which lets my app do manual pan/tilt control via a virtual joystick.

The Osmo Mobile 8 (model DS308, firmware 1.0.0) connects fine via DockKit and reports as docked, but every motor control API fails with "The device doesn't support the requested operation":

  • setAngularVelocity — fails
  • setOrientation(relative: true) — fails
  • setLimits — fails

The only thing that works is Apple's system tracking (setSystemTrackingEnabled(true)) for automatic face/body following.

This means there's no way for third-party apps to do manual gimbal control (pan/tilt via joystick) on the Osmo 8 through DockKit — only automatic tracking works.

Questions:

  1. Is anyone else seeing the same limitation with the Osmo 8 and DockKit?
  2. Has DJI confirmed whether manual motor control via DockKit is intentionally unsupported, or is this a firmware issue that might be addressed in an update?
  3. Does the DJI Mimo app use DockKit for its tracking, or does it use a proprietary Bluetooth protocol?

Running iOS 26.4 on iPhone 15 Pro. Happy to share more technical details if helpful.

Hello jbhewitt, DockKit engineers are not able to reproduce this issue with the sample app published by Apple. Can you please try the sample app and look at the reference implementation?

https://developer.apple.com/documentation/DockKit/controlling-a-dockkit-accessory-using-your-camera-app

DJI Osmo Mobile 8 — DockKit motor control APIs not working (setAngularVelocity, setOrientation)
 
 
Q