ios-device-automation
Vision-driven iOS automation using natural language commands and screenshot analysis.
- Operates entirely from screenshots without requiring DOM access or accessibility labels; can interact with any visible UI element regardless of technology stack
- Requires a configured vision model (Gemini, Qwen, Doubao, or similar) via environment variables for AI-powered screen understanding and action execution
- Follows a synchronous workflow: connect device, take screenshot, execute actions via natural language prompts, then disconnect and report results
- Batch related operations into single
actcommands to reduce round-trips; always run commands synchronously and allow sufficient time for AI inference and screen interaction
iOS Device Automation
CRITICAL RULES — VIOLATIONS WILL BREAK THE WORKFLOW:
- Never run midscene commands in the background. Each command must run synchronously so you can read its output (especially screenshots) before deciding the next action. Background execution breaks the screenshot-analyze-act loop.
- Run only one midscene command at a time. Wait for the previous command to finish, read the screenshot, then decide the next action. Never chain multiple commands together.
- Allow enough time for each command to complete. Midscene commands involve AI inference and screen interaction, which can take longer than typical shell commands. A typical command needs about 1 minute; complex
actcommands may need even longer.- Always report task results before finishing. After completing the automation task, you MUST proactively summarize the results to the user — including key data found, actions completed, screenshots taken, and any relevant findings. Never silently end after the last automation step; the user expects a complete response in a single interaction.
Automate iOS devices using npx -y @midscene/ios@1. Each CLI command maps directly to an MCP tool — you (the AI agent) act as the brain, deciding which actions to take based on screenshots.
What act Can Do
Inside a single act call on iOS, Midscene can tap, double-tap, long-press, type, clear text, scroll, drag items, zoom with two fingers, press keys, and use system navigation such as Home or the app switcher while working from the current visible screen.
Prerequisites
Midscene requires models with strong visual grounding capabilities. The following environment variables must be configured — either as system environment variables or in a .env file in the current working directory (Midscene loads .env automatically):
More from web-infra-dev/midscene-skills
desktop-computer-automation
|
2.9Kbrowser-automation
|
2.8Kandroid-device-automation
>
1.6Kharmonyos-device-automation
>
1.0Kvitest-midscene-e2e
Enhances Vitest with Midscene for AI-powered UI testing across Web (Playwright), Android (ADB), and iOS (WDA). Scaffolds new projects, converts existing projects, and creates/updates/debugs/runs E2E tests using natural-language UI interactions. Triggers: write test, add test, create test, update test, fix test, debug test, run test, e2e test, midscene test, new project, convert project, init project, 写测试, 加测试, 创建测试, 更新测试, 修复测试, 调试测试, 运行测试, 新建工程, 转化工程.
841chrome-bridge-automation
|
665