Skip to content

iCTRL 1.98.16

Latest

Choose a tag to compare

@wsvn53 wsvn53 released this 26 Oct 15:06
· 4 commits to main since this release
c1e4268

An AI-friendly iOS/iPadOS automation service. Tell your agent "My iPhone is running iCTRL at :8200 — figure out how to drive it." and it reads the on-device manual and takes it from there. Works with any agent that can make HTTP requests: OpenClaw, Hermes, Minis, Claude Code, Codex and others.

Downloads

Which IPA do I need?

File Needed? What it is
iCTRLUITests-Runner.ipa Required The automation engine. It serves the JSON-RPC API that agents and clients call, and must be running.
iCTRL.ipa Optional A companion app for tasks on the phone itself:
• mount the Developer Disk Image without a Mac, and remount it after a reboot
• start and stop the runner
• choose who can reach the runner (this device only / LAN / LAN + nearby)
• see and revoke authorized clients
• read the runner's log live

Skip iCTRL.ipa if you mount the Developer Disk Image with Xcode or StikDebug, and manage the runner from its notification or a computer. With a free Apple ID you get three sideloaded apps, and SideStore uses one of them. Install StikDebug or the iCTRL app alongside the runner, not both.

Both IPAs are unsigned for distribution (ad-hoc, no provisioning profile). Sign them when you install:

  • Free Apple ID: the latest SideStore signs and installs them. Older SideStore releases skip the nested .xctest, and the runner then crashes on launch.
  • Paid account: Scripts/sign-ipa.sh -i iCTRLUITests-Runner.ipa

The runner also needs the Developer Disk Image mounted (Xcode, StikDebug or the iCTRL app). The README covers the whole setup.

What's new since 1.98.15

Input

  • Continuous single-finger drag paths. drag accepts a points array (2-64 waypoints, 0.1-10 s) and follows it with one finger, pressing once and lifting once. Draw corners, unlock patterns, drag-to-reorder. Corners can be rounded by 1-2 pt, so keep each segment at least one frame long. Advertised as the drag_path capability. Existing endpoint/ref drags are unchanged. Thanks to @YanYunNN.

Build

  • make ipa UNSIGNED=1 builds release IPAs without a signing identity.

Earlier in 1.98.13 - 1.98.15

  • The video stream skips identical frames while the screen is still, and no longer goes black after the runner was in the background.
  • The remote page keeps FPS, quality and verbose across reloads.
  • type falls back to on-screen key taps when a field drops focus and reports failures. keyboard.visible detects third-party keyboards.
  • More methods require authorization. The iCTRL app imports RemotePairing files such as StikDebug's pairingFile.plist.