iOS tap
ios_tapTap at (x,y) on an iOS device screen — the FALLBACK for when an element has no usable label. Prefer ios_tap_by_label (taps by accessibility label via the automation session, no coordinate math, works even on zero-area elements) whenever the target has a name in ios_page_source. Coordinates here are in physical screen points and must come from ios_page_source (the authoritative source), NOT eyeballed from a screenshot. (On an Apple TV, which has no touchscreen, this is unavailable — select an element with tvos_select or tvos_focus instead.) Works without an automation session when the direct input path is available; falls back to one otherwise (see input).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate in screen points (from ios_page_source element center) | |
| y | Yes | Y coordinate in screen points (from ios_page_source element center) | |
| norm | No | If true, x/y (and path points) are 0..1 FRACTIONS of the screen — pass `pixelInScreenshot ÷ screenshotSize` directly (scale-free, matches the frontend, avoids point-guessing). Default false = iOS screen points. | |
| udid | Yes | iOS device UDID | |
| input | No | Input path. 'auto' (default) tries the direct input path first — the one that needs no automation session — and falls back to the session only when the direct path is not usable right now (the response says which one ran). On a device set to direct-input-only, an unusable direct path is reported as an error instead of silently switching to the session. 'hid' forces the direct path with no fallback, reporting 'no HID available' on iOS 17.x or with no tunnel. 'session' forces the automation session even when the direct path would have worked. | |
| duration | No | Tap hold duration in ms (default: 100) |