Skip to content

Releases: Derrors/iphone-control

Release list

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 03 Nov 17:38
63729d0

English

Added

  • macOS (Apple Silicon) support: build from source and run as a regular user with the system usbmuxd; no Xcode needed. See the new macOS guide.

Changed

  • MCP tool descriptions now explain when to use each tool, what it returns and how it behaves; every parameter is documented and every tool carries MCP annotations. Tool names, parameters and results are unchanged.
  • Release binaries are named iphone-control-vX.Y.Z-linux-<arch>.tar.gz.

Fixed

  • home and lock had no effect on some phones (seen on an iPhone 12 mini, iOS 26.4.1), and auto-unlock couldn't wake a dark screen there.
  • After a disconnect of a few seconds, setups using the system usbmuxd (macOS, Linux source installs) got stuck on "bad device"; they now reconnect by themselves.
  • doctor on macOS no longer reports "no Apple device on USB", and its hints use macOS commands.
  • When auto-unlock can't bring up the passcode keypad, the message mentions StandBy, which hides the keypad.

中文

新增

  • 支持 macOS(Apple Silicon):从源码编译,以普通用户运行,用系统自带的 usbmuxd,不需要 Xcode。见新增的 macOS 使用指南。

变更

  • MCP 工具描述说明了何时用、返回什么、具体行为,每个参数都有说明,每个工具都带 MCP 注解。工具名、参数和返回结果不变。
  • Release 里的二进制压缩包改名为 iphone-control-vX.Y.Z-linux-<架构>.tar.gz。

修复

  • 部分手机上 home、lock 没有效果(在 iPhone 12 mini、iOS 26.4.1 上遇到),自动解锁也点不亮熄灭的屏幕。
  • 用系统 usbmuxd 的部署(macOS、Linux 从源码运行)断开几秒后会卡在「bad device」,现在能自己重连。
  • macOS 上 doctor 不再误报「USB 上没有 Apple 设备」,修复提示改用 macOS 的命令。
  • 自动解锁调不出密码键盘时,提示里说明待机显示会挡住键盘。

Docker: ghcr.io/derrors/iphone-control:0.1.1 (linux/amd64, linux/arm64)

Binaries / 二进制: linux-x86_64, linux-aarch64 (glibc 2.34+)

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 16:41

First public release.

Added

  • iphone-control daemon: one long-running process owns the phone — usbmuxd supervision (with a sysfs fallback for containers without udev), pairing and Developer Mode checks, Developer Disk Image download and mounting, a CoreDevice tunnel with a user-space TCP stack, WebDriverAgent launch and health checks, and a state machine that recovers from unplugging, usbmuxd restarts and phone reboots.
  • MCP server with 15 tools: status, screenshots with zoom-in regions, element lists, tap / tap by text, long press, swipe, typing (including Chinese), hardware buttons, app launch / terminate / list, URLs, iphone_wait_for and iphone_batch. Action tools accept then to return the screen after the action.
  • HID fallback for taps, swipes, buttons, ASCII typing and screenshots while WebDriverAgent is unavailable.
  • Signing of WebDriverAgent with a free Apple ID (two-factor and SMS login), including the .xctest bundle, a post-signing check, automatic re-signing before the 7-day profile expires, and a daily Apple ID session check.
  • Notifications through Bark and Telegram, with de-duplication.
  • Optional auto-unlock with strict safeguards (stops after one wrong attempt).
  • setup wizard, doctor diagnostics, status, mcp-config, wda-bridge, notify-test.
  • Docker image (single binary plus Debian's usbmuxd, not privileged) with a generated third-party license list, published to ghcr.io/derrors/iphone-control for linux/amd64 and linux/arm64.
  • Running without Docker, from source or from the prebuilt Linux binaries (x86_64, aarch64): as a regular user with the system usbmuxd, XDG data and socket paths, the unsigned WebDriverAgent downloaded and checksum-verified before the first signing, mcp-config printing a direct command, and a systemd user service.

Docker image: ghcr.io/derrors/iphone-control:0.1.0 (linux/amd64, linux/arm64)