# Ha IOS Webview

> The WKWebView frontend that renders the Home Assistant web UI. Use when working on WebViewController and its WebViewController+*.swift extensions, the JavaScript external message bus, custom URL schemes, or deep links into the frontend.

- Skill: `home-assistant/ha-ios-webview` (Agent Skill)
- Install (CLI): `npx skillmds@latest add home-assistant/ha-ios-webview`
- Raw SKILL.md: https://api.skillmd.com/api/skills/home-assistant/ha-ios-webview/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: home-assistant (https://skillmd.com/u/home-assistant)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/home-assistant/ha-ios-webview

---


# The WKWebView Frontend

The primary iOS UI is a `WKWebView` (`WebViewController`) that renders the Home Assistant web frontend; native Swift code wraps it with platform integrations. `WebViewController` functionality is spread across many `WebViewController+*.swift` extension files (navigation, gestures, alerts, URL loading, etc.). Native features communicate with the web UI via a JavaScript message bus handled by `WebViewExternalMessageHandler` (messages typed as `WebViewExternalBusMessage` / `WebViewExternalBusOutgoingMessage` in `Sources/App/Frontend/ExternalMessageBus/`) and custom URL schemes / deep links defined in `AppConstants`.

