Skip to content

iCTRL 1.97.0

Choose a tag to compare

@wsvn53 wsvn53 released this 13 Oct 03:08
· 33 commits to main since this release

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

File What it is
iCTRLUITests-Runner.ipa The automation engine — required.
iCTRL.ipa Optional host app: mounts the Developer Disk Image on the device and starts the runner. Use it or StikDebug.

Both 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.96.1

This release is about the browser control page, GET /remote: it now works well from another phone, not only from a desktop browser. The API and the iCTRL app are unchanged.

Plays on iPhone

  • The stream now plays in Safari on iPhone (iOS 17.1 and later). Before, the page stopped with "browser lacks MediaSource".

Full screen

  • A full-screen mode that leaves only the picture and a floating ball, entered from the button at the top right, the ball's menu or the Display panel.
  • In Safari on iPhone (iOS 26 and later) the picture covers the whole screen, running beneath the status bar and Safari's floating toolbar.
  • Add to Home Screen opens the page as a web app with no browser bars, straight into full screen, with the iCTRL icon. The same icon is the page's favicon.
  • A picture setting for full screen: fill the screen (default), whole picture, or stretch. Touches land where the picture is drawn in every mode.
  • Action results (tap, drag, home…) are not shown in full screen, so the view looks like the phone itself. Failures still are.

Controls

  • A translucent floating ball replaces the settings button on phones. Drag it anywhere; it snaps to a side, remembers its place and darkens over a light part of the picture.
  • Tapping the ball opens quick controls: Home, Type, Shot, Open app, Connect/Stop, Full screen, More.
  • A Display panel to show or hide the device and connection badges, the device health panel and the status bar.
  • Screenshots open in a preview with a Download button, at the device's resolution.
  • Dragging sideways on the picture no longer also triggers the browser's back/forward swipe.

Fixes

  • The connection status no longer stays on "waiting for first frame" while the picture is already playing.
  • The dimmed backdrop behind the controls sheet now appears.
  • Screenshots were JPEG data saved with a .png name; the file type now matches.
  • The page is served with Cache-Control: no-cache, so an installed web app picks up the page of an updated runner.

Good to know

  • In a Safari tab, taps on the strip under Safari's toolbar go to Safari. Use the Home Screen app, or the "whole picture" setting, when you need the bottom edge of the phone.
  • A Home Screen web app keeps its own storage, so it pairs once more the first time.

SHA-256

f24bee7e60d5ee6f4ee81dd1b30865d8e31106f53ea65ca26a960cd81d422d5a  iCTRLUITests-Runner.ipa
788d26cccbd8a62856914240d2325f48f890c30a45daf18b7d8a932c03123e9a  iCTRL.ipa