ARKit Camera Access Providers
Quick Start
- Confirm the task needs ARKit camera data, not a rendered RealityKit or SwiftUI snapshot.
- Choose full camera frame access or region-scoped camera capture.
- Check support, privacy text, entitlement, and enterprise constraints before debugging update delivery.
- Keep frame handling off the SwiftUI body path and avoid retaining stale frame buffers beyond the API contract.
Load References When
| Reference | When to Use |
|-----------|-------------|
| session-basics.md | When setting up ARKitSession, authorization, events, or teardown. |
| camera-frame-provider.md | When using CameraFrameProvider and cameraFrameUpdates(for:). |
| camera-region-provider.md | When using CameraRegionProvider and CameraRegionAnchor. |
Workflow
- Verify the camera-access requirement and target OS/device support.
- Confirm Info.plist text, entitlement/profile, and enterprise requirements.
- Select camera format or region definition deliberately.
- Request provider authorizations, run the provider, and process updates in a dedicated model or pipeline object.
Guardrails
- Do not assume all camera providers are generally available; treat missing entitlement/profile support as a first-class blocker.
- Do not widen camera access when a narrower region or non-camera API satisfies the feature.
- Do not route camera provider build, signing, or provisioning failures here;
use
$signing-entitlementsor$build-run-debug.
Output Expectations
Provide:
- which camera provider was chosen and why
- support, privacy, entitlement, and enterprise checks
- which camera references were used
- the frame or region processing model