github doronz88/pymobiledevice3 v11.46.0

2 hours ago

Highlights

✨ Guided DFU mode, and restores that install the RecoveryOS

restore enter-dfu walks you through the DFU button sequence for your model, counting each step down and watching the device over USB, so it moves on the moment the screen goes black and tells you what to change if the device lands in Recovery or boots normally. restore update --dfu runs it before restoring. iOS restores now install the RecoveryOS the way Apple Configurator does (with its own RecoveryOS ticket), and the new experimental --exclusive-usb (macOS) keeps deviceinterfaced from grabbing the device mid-restore. (#2135, #2130)

pymobiledevice3 restore enter-dfu
pymobiledevice3 restore update -i iPhone.ipsw --dfu

✨ Sync contacts, calendars, bookmarks and mail accounts

A new mobilesync client reads every record of a data class and can add, modify and delete records on the device. (#2118, #2127)

pymobiledevice3 mobilesync dump contacts
pymobiledevice3 mobilesync push contacts changes.json
pymobiledevice3 mobilesync delete contacts <record-id>

✨ Supervised device management

profile gained request-unlock-token, clear-passcode, clear-restrictions-password, security-info and set-wallpaper for supervised devices (escalated with --keybag). Clearing the passcode drops the host's pairing; re-pair with lockdown pair-supervised. (#2126)

✨ More device controls

  • developer core-device universal-hid-service multi-tap / multi-drag: multi-finger touch (pinch, rotate, two-finger tap). (#2129)
  • developer accessibility element-attributes: read the label, identifier, value and more of the focused element. (#2125)
  • amfi trust-app-signer <profile-uuid>: trust the developer of an installed provisioning profile. (#2124)
  • backup2 cloud on|off: turn iCloud Backup on or off. (#2116)
  • lockdown auto-answer on|off: toggle Accessibility's Auto-Answer Calls. (#2133)
  • crash clear --match <regex>: remove only matching crash reports. (#2123)
  • AFC: whole-tree removal in one request, file hashes, set-time, truncate and positional I/O, plus sha1sum, touch and truncate in the AFC shell. (#2114, #2128)

🐛 Fixes

  • lockdown unpair deletes this host's pair records (locally and in usbmuxd), and pair/unpair/remotepairing prompt for a device when several are connected. (#2113)
  • Per-call service connections (heartbeat, companion, simulate-location, AMFI, crash flush, activation) are closed instead of leaking a file descriptor each. (#2132)
  • The TLS handshake timeout is 30 s, so a service launchd is relaunching (mobilesync, for one) is not cut off. (#2117)
  • syslog lines with vis(3) escapes are decoded (#2122); OPACK back-references decode with opack2 0.2.0 (#2131); restores handle a second ASR Initiate (#2120), advertise async data types for macOS too (#2121), and know Mac18,5's chip ID (#2119).

♻️ irecv and typing

irecv is now a package with a transport per mode (Recovery, DFU) that owns the USB device, a typed UsbDevice, and fixes for an unbounded DFU wait and leaked USB handles (#2135). ipsw-parser 1.9.0 ships its types, so the restore code dropped its casts (#2134).

What's Changed

Full Changelog: v11.45.1...v11.46.0

Don't miss a new pymobiledevice3 release

NewReleases is sending notifications on new releases.