Skip to content

JAgentDesk v0.9.51 — iPhone view-first over the cable; Apple ID sign-in reaches your teams

Choose a tag to compare

@knoobdev knoobdev released this 04 Nov 08:45
· 299 commits to main since this release
834d9f8

An iPhone plugged in with its cable now shows its screen as soon as you enable control — no Apple ID,
no setup step — and the first touch sets up the rest in place. Adding an Apple ID that works in
Sideloadly no longer stops at "Developer Services listTeams returned 200 without a plist". (v0.9.50
was withdrawn before its files were built; its changes are part of this release.)

iPhone and iPad over the cable — view first, touch when you want

  • The screen shows right away. After Enable control, a cabled iPhone or iPad streams its screen
    through the device's own screenshot service over the cable (go-ios; the Developer Disk Image is
    mounted automatically, the personalized one on iOS 17+). No Apple ID and no helper app are needed to
    watch it. The view is marked "View only" until touch is on. If Developer Mode is off, the device says
    so (needs_developer_mode).
  • Touch turns on where you are. Apple only lets a computer tap and type on an iPhone through a
    small XCTest app signed with an Apple ID — WebDriverAgent, the open-source app Appium and Maestro use.
    The first tap, swipe, text or button press (or the Enable touch button) opens one dialog in
    place: with one Apple account saved in Sideload it is used directly; with several you pick one; with
    none the Add Apple ID form (with two-factor code) is right there — no separate "Prepare device" step
    and no trip to the Sideload tab. The dialog shows each step (download, sign, install, launch) and
    then performs the touch you made. The account is saved for Sideload too.
  • After that it just works. When WebDriverAgent runs, the screen switches to its faster MJPEG stream
    without dropping viewers. A free account uses one of its 3 app slots for it and the signature lasts 7
    days; Sideload's auto refresh renews it, and if it ever expires the next touch repeats the dialog.
  • Chat agents. sim_screenshot, logs and app tools work on an iPhone without WebDriverAgent. A
    touch tool sets it up with the saved Apple account (after the per-device permission card); with no
    account saved it returns apple_account_required and tells you to add one; with several it reuses the
    account that signed this device, otherwise asks you to pick one in Sims.
  • Protocol: one optional field (SimDevice.screenAvailable) and new error codes; older daemons keep
    their previous behaviour.
  • Checked with tests and a built daemon driving a stand-in for go-ios; not yet on a real iPhone.

Sideload — Apple ID sign-in reaches your teams

  • Signing service request updated. Sign-in itself (anisette, password, two-factor code, the
    signing token) already succeeded; the next call, which lists the account's teams, got an answer
    that was not a property list. JAgentDesk introduced itself to Apple's signing service as a 2019
    client version (X-Xcode-Version: 11.2 (11B41)). Like Sideloadly and other current tools, it now
    sends the current version (16.4 (16F6), as the maintained open-source implementations do). This
    is only the name every free-account sideloader uses with Apple's signing service; nothing needs
    to be installed.
  • Compressed and JSON answers. Responses from Apple's signing service are now decompressed
    (gzip, deflate, brotli — including gzip sent without a header), and JSON error answers are read and
    shown with Apple's own message.
  • Errors that say what happened. If Apple still answers with something that is not a property
    list, the error now states the HTTP status, the kind of content (empty, JSON, XML, or an HTML page
    with its title), its type and size — never its content — so the next step is clear.
  • Tests cover gzip with and without the header and the description of non-plist answers.

Downloads

  • macOS: on Apple Silicon download the asset named macOS-Apple-Silicon. Do not install the Intel
    x64 asset on Apple Silicon; it runs under Rosetta and is intentionally rejected by the app.
  • Windows x64 installer, Linux x64 AppImage/deb, Android APK, and an unsigned iOS IPA.