Touch Input
Capture app-local native iOS touch input so Ansight Studio can replay taps, drags, and cancellations alongside screenshots and telemetry.
Touch capture records app-window touch locations while the runtime is active.
The aggregate iOS developer defaults enable touch capture. Core-only apps can enable or disable it explicitly.
Enable Touch Capture
let options = try AnsightOptions.createBuilder()
.withTouchCapture()
.build()
Disable it:
let options = try AnsightOptions.createBuilder()
.withoutTouchCapture()
.build()
What Gets Captured
Each touch record includes:
- action: down, move, up, or cancel
- pointer id and index
- app-window coordinates
- surface width, height, and scale when available
- normalized coordinates when surface dimensions are known
- capture timestamp
Touch records are streamed as input-capture records over an open host connection and are stored separately from metric samples and app events.
Pair With Screenshots
Touch input is most useful when the session has visual context. The aggregate setup already enables JPEG capture every 2000ms at quality 60 and max width 480.
Important: Pairing touch input with screen capture will result in an FPS drop while frames are rendered, encoded, and transported. Disable session JPEG capture for performance-focused runs unless visual evidence is required.
For core-only setup:
let options = try AnsightOptions.createBuilder()
.withTouchCapture()
.withSessionJpegCapture(
intervalMilliseconds: 2000,
quality: 60,
maxWidth: 480,
captureGpuBackedSurfaces: true
)
.build()
Privacy
Touch records can reveal user behavior and sensitive screen locations. Keep touch capture out of distributable builds unless explicitly approved.