You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This matrix maps documented Apple iPhone Duo APIs (iOS 27.1 / Xcode 27.1) to @cawrestler/react-native-duo. It is based on Apple's Preparing your app for iPhone Duo guidance and the UIKit / AVFoundation symbols the package compiles against.
Legend:
Status
Meaning
Supported
Wrapped with a typed React Native component or hook on iOS 27.1+ when built with the Duo SDK.
Partial
Some behavior is exposed; see notes for gaps vs the native API.
Fallback
Usable JavaScript layout or controls without native Duo behavior.
Not supported
No bridge; documented boundary or future work.
Platform columns refer to the package's public API, not whether a generic RN app runs on that platform.
Environment, hinge, and reserved regions
Apple API (UIKit / SwiftUI)
Package API
iOS 27.1+ Duo
iOS < 27.1
Android / web
UIHingeInteraction / SwiftUI onHingeChange
DuoProvider, useDuo(), useDuoHinge()
Supported — status, angle (rad/deg)
Fallback — available: false, unavailable status
Android foldables: Supported — posture from Jetpack WindowManager, angle from the hinge-angle sensor (API 30+) where present; web Fallback
Android foldables: Supported — the fold as a division/occlusion region via useDuoReservedRegions(), provider geometry, and view-local DuoGeometryView, optional inactive while flat; web Fallback
Duo camera discovery (AVCaptureDevice discovery for inner/outer/virtual front)
useDuoCameras()
Supported on eligible hardware
Fallback — empty list
Fallback
Window metrics / safe area
useDuoWindow(), provider window
Supported
Partial — metrics without Duo regions
Fallback
Guidance not duplicated in JS: Apple recommends layout from arrangements and reserved regions, not hinge angle alone. The package exposes angle for diagnostics and effects; it does not auto-layout your UI from angle.