> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/help-center/help-topics/data-api-sdk/realtime-streaming-and-ble/apple-watch-streaming-watchos-companion.md).

# How do I make Apple Watch streaming work from Flutter?

**Apple Watch streaming requires a separate watchOS companion target, managed natively in Xcode and written in Swift**, even when the main app is Flutter or React Native (Flutter cannot build watchOS targets). The Flutter/phone side acts as observer.

{% stepper %}
{% step %}
Add the `TerraRTiOS` framework to the watchOS target.
{% endstep %}

{% step %}
Configure background capabilities in `Info.plist`.
{% endstep %}

{% step %}
Start realtime streaming with the `WATCH_OS` connection type, not the phone's `apple` connection.
{% endstep %}
{% endstepper %}

The watch then pushes updates to the phone like any BLE device, so no special concurrency handling is needed on the watch side. See [connecting a wearable to the SDK on iOS](https://docs.tryterra.co/streaming-api/connect-wearable-to-sdk/ios-swift).
