Highlights
✨ mounter auto-mount installs the DeveloperDiskImage as a cryptex, so newer devices work too
Newer devices such as the iPhone 18 series could not mount a DeveloperDiskImage at all (doronz88/DeveloperDiskImage#31). Every build identity of the PersonalizedDMG the image mounter uses is tied to one chip/board pair, so it only covers the devices listed in the DDI's build manifest, and even Xcode 27.1's DDI stops at iPhone18,5. The Cryptex1 identity in the same DDI names no device at all, and installing it through cryptexd is how Xcode handles these devices.
auto-mount now takes that path. From iOS 17.4 it always installs the Cryptex1 DDI, and it needs an RSD tunnel to do so. You don't have to pass one: the command sets up a no-root tunnel and retries by itself.
pymobiledevice3 mounter auto-mount| iOS | Image |
|---|---|
| < 17.0 | the classic DeveloperDiskImage.dmg for that version
|
| 17.0 - 17.3.1 | the Cryptex1 DDI over an RSD tunnel, otherwise the PersonalizedDMG
|
| 17.4+ | the Cryptex1 DDI over cryptexd
|
17.0 - 17.3.1 keeps the PersonalizedDMG over plain USB, because there Linux and Windows can only get a tunnel through a root tunneld. For library callers, auto_mount() given a plain lockdown client on 17.4+ now raises RSDRequiredError instead of mounting the PersonalizedDMG.
🐛 cryptex auto-install no longer fails late over an already-mounted image
A PersonalizedDMG mounted through the image mounter is not a cryptex, so cryptexd does not report it. cryptex auto-install then had Apple sign a ticket and failed at install time with mkdir custom mount path: /System/Developer [17: File exists]. It now checks the image mounter first and stops before contacting Apple. Both commands also say how to remove an existing image, which depends on what mounted it.
📚 Troubleshooting the DeveloperDiskImage
The troubleshooting guide now covers "DeveloperDiskImage already mounted", the "Trying again ... since RSD is required" warning, and NoSuchBuildIdentityError (a device newer than the DDI). It also corrects the claim that cryptex list shows a PersonalizedDMG mounted through the image mounter; it doesn't.
What's Changed
- 8378105 tunneld: Deflake federation tests on Windows by draining the bridge (#1986) (@doronz88)
- 8585c96 docs: Explain the cryptex DDI, and the errors on the way to it (#1986) (@doronz88)
- 316a63f mounter: Install the cryptex DDI in auto-mount, required from iOS 17.4 (#1986) (@doronz88)
- 289d4c5 cryptex: Refuse auto-install over an image the image mounter already mounted (#1986) (@doronz88)
Full Changelog: v11.18.0...v11.19.0