> 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/faq/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).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tryterra.co/faq/help-topics/data-api-sdk/realtime-streaming-and-ble/apple-watch-streaming-watchos-companion.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
