
Description
Common issues, Developer Mode, version compatibility, state machine diagnosis
SKILL.md
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")
// In your streaming code:
logger.debug("Stream state changed to: \(state)")
logger.error("Stream error: \(error)")
Checklist
- Developer Mode enabled in Meta AI app
- Meta AI app updated to compatible version
- Glasses firmware updated to compatible version
- Internet connection available for registration
- Bluetooth enabled on phone
- Correct URL scheme configured in Info.plist
- Background modes enabled (bluetooth-peripheral, external-accessory)
Links
More skills from the meta-wearables-dat-ios repository
View all 9 skillscamera-streaming
configure camera streaming and photo capture
May 15CameraHardwareiOSVideodat-conventions
develop iOS applications with DAT SDK
May 15iOSMobileSDKSwiftdisplay-access
manage display capabilities on wearable devices
May 15DesignImagesInteractionUI Components +1getting-started
set up Meta wearable SDK integration
May 15ConfigurationiOSSDKSwiftmockdevice-testing
test wearable apps with mock devices
May 15iOSMobileQATestingpermissions-registration
register apps with Meta AI
May 15CameraiOSPermissions
More from Meta Open Source
View publisherrelay-best-practices
write idiomatic Relay code
relay
Apr 22EngineeringFrontendGraphQLReact +1relay-performance
optimize Relay application performance
relay
Jun 10FrontendGraphQLPerformanceReact +1add-shape-types-to-torch-model
annotate PyTorch models with tensor shapes
pyrefly
Jul 18Data ModelingDeep LearningPythonPyTorchsample-app-guide
build wearable apps with camera streaming
meta-wearables-dat-ios
May 15CameraiOSMobilesession-lifecycle
monitor device session lifecycle states
meta-wearables-dat-ios
May 15iOSMobileMonitoringPerformance