getUserMedia inside WebViewPoseView (the RN SDK component, not the hosted tracking URL) when coldStart is full. It does not ship iOS/Android permission strings — your app must declare and request camera access. WebView embeds need the same OS permission plus allow="camera" on the iframe.
Responsibility split
Expo
Declare
npx expo prebuild / EAS).
Request, then mount
Bare React Native
iOS —Info.plist:
AndroidManifest.xml:
WebViewPoseView.
Cold-start tip
Lobby warmer:
<WebViewPoseView coldStart="basic" />. Camera screen: default full.
Full lifecycle: Preload. WebView hosts: Embed on every platform.
Checklist
- Declare iOS usage string (+ Expo plugin text).
- Declare Android
CAMERA. - Request permission on the camera screen.
- Mount
WebViewPoseViewonly when granted (or handle denial UX). - Never call
preload({ coldStart: 'full' })outside a camera context the user expects.