Details
The image is in screen points (375x667 on an iPhone 6s, 414x896 on an XR): small
enough for LLM vision, and the same coordinates tap and swipe take.
Prefer screentext when you only need text: no image to read.
"No frame" means USB gave no fresh frame; it does not prove input failed.
Check list and the display. If off and unlocked, use wake -l <id>; if on and
unlocked, try daemon restart. Ask the user before restarting their iPhone.
A locked iPhone gives no screenshot. Unlock only with a confirmed passcode.
Never lock the phone to fix capture.
Read the file only after the command returns. A read started in parallel with the
capture can show the previous image.
Password fields: screenshots often do not show the typed dots. An empty-looking
secure field does not mean the password was not typed. Never type it again; check
the result after you submit (next screen or error).
Screen dimmed but no dialog in the image? Some system dialogs are hidden from USB
capture (seen: App Store Install sheet, cellular data and location prompts).
--native takes a real iOS screenshot (about 2 s): the dialog shows, at the
same coordinates tap takes. It needs Bluetooth, an unlocked phone, and is deleted
from Photos after reading. iOS shows a screenshot thumbnail at the bottom left for
a few seconds; it does not block taps elsewhere.
XCTest mode: the image comes from XCTest; hidden-dialog support is not verified.
--native is not needed.