| name | debugging |
| description | Common issues, Developer Mode, version compatibility, state machine diagnosis |
Debugging (iOS)
Diagnose common setup, registration, and streaming issues in DAT SDK integrations.
Quick diagnosis
Device not connecting?
│
├── Is Developer Mode enabled? → Enable in Meta AI app settings
│
├── Is device registered? → Check registration state
│
├── Is device in range? → Bluetooth on, glasses powered on
│
├── Is the app registered? → Check registrationStateStream()
│
└── Stream stuck in waitingForDevice? → Check device availability
Developer Mode
Developer Mode must be enabled for 3P apps to access device features.
Enabling Developer Mode
- Open Meta AI app on phone
- Go to Settings → (Your connected glasses)
- Find "Developer Mode" toggle
- Toggle ON
- Device may restart
Symptoms of Developer Mode disabled
- Registration completes but device never connects
- Stream stuck in
waitingForDevice
- Permission requests fail or never appear
Watch for
- Developer Mode toggles off after firmware updates — re-enable it
- Developer Mode is per-device — enable for each glasses pair
- Some features need additional permissions beyond Developer Mode
Stream state issues
Expected flow
stopped → waitingForDevice → starting → streaming → stopped
Stuck in waitingForDevice
- Device not in range or not connected
- Device not reporting availability
- DeviceSelector not matching any device
Unexpected stop
- Device disconnected (out of range, battery died)
- Channel closed by device
- Error in frame processing
Version compatibility
Ensure compatible versions of SDK, Meta AI app, and glasses firmware. See version dependencies for the current compatibility matrix.
Known issues
| Issue | Workaround |
|---|
| No internet → registration fails | Internet required for registration |
| Streams started with glasses doffed pause when donned | Unpause by tapping side of glasses |
| [iOS] Meta Ray-Ban Display: no audio feedback on pause/resume | Will be fixed in future release |
Adding debug logging
import os
private let logger = Logger(subsystem: "com.yourapp", category: "Wearables")
logger.debug("Stream state changed to: \(state)")
logger.error("Stream error: \(error)")
Checklist
Links