vphone 2.6.0
Core Bundle
- iOS 27.0.1 (24A446) iPhone guests boot. On a 27.0.1 restore, TXM's selector-24 pre-check rejected every manifest and init was killed at first boot. The new boot-chain patch
txm-boot-precheck_admissionadmits them, and re-signed guest binaries now carry CS_ADHOC like Apple's own. A 27.0.1 machine created with an earlier bundle needs a new restore. (#572) - Run iOS from other iPhone models' IPSWs: iPhone 16 Plus, 16 Pro, 16 Pro Max and 16e (iPhone17,4/1/2/5), and iPhone 17, Air, 17 Pro, 17 Pro Max and 17e (iPhone18,3/4/1/2/5). Each guest presents its own board. Only the iPhone 17 Pro has been booted so far; see
Documents/Guides/iphone-models.md. iPhone17,3 is unchanged and is now named iPhone 16 in New Machine. (#580) - iPhone17,3 guests get D47AP's product description: Siri, Action Button, Camera Control and dictation appear.
preboot-cfw-devicetree_iphone_productis on in the standard preset and reaches existing machines throughcfw update-environment. (#568) - Settings › Battery › Battery Health shows a healthy battery instead of a spinner that never ends. (#573)
- Unlock at Startup: a per-machine setting (
vm config --unlock-at-startup on|off, the VM window's Device menu, or Launchpad's machine Settings) that gets the guest past the Lock Screen after each boot. Guests still cannot have a passcode. (#571) - Shut a guest down cleanly: vphoned's
system.shutdownand Device › Shut Down Guest… let launchd stop services and unmount volumes before the VM stops. (#581) vm stopsignals the machine's ownvphone-vminstead of Virtualization's service, so a stop exits with status 0 instead of "虚拟机意外停止". (#579)- The VM window's close button and ⌘Q ask before stopping a running guest.
vm stopand Launchpad's Stop do not ask. (#571) - Text or images copied in the guest by touch reach the Mac clipboard when the VM window loses focus. (#584)
- Menu shortcuts that never fired: Keychain Browser is ⌃⌘K, Copy Screenshot is ⌃⌘C, Save Screenshot is ⇧⌘S. (#574)
- Patches can change after a machine exists.
PatchReceipt.plistrecords what is live in the guest,fw patches <vm>shows what each pending change needs, andcfw install/cfw update-environmentnow also revert guest patches that were turned off. (#570, #588) cfw update-kernel <vm>(root, VM off) re-patches the kernel with the machine's current selection and swaps it into Preboot, keeping the guest's data.restore --no-eraserefuses, because a cloudOS restore always erases. A failed restore no longer exits 0. (#591, #588)fw prepareandvm createshow IPSW download progress. (#593)- The guest's
vphonedupdates itself the next time each machine starts.
Launchpad
- Machine Settings and New Machine show one page at a time under a segmented control; New Machine's advanced options are its third page. (#582)
- The inspector's Patches section has Edit…, Apply to Guest for pending guest patches and Update Kernel for pending kernel patches. (#583, #591)
- Stop shuts the guest down first and falls back to
vm stopafter 30 s or when the guest cannot be asked. (#581) - The firmware step of New Machine, the machine table and the inspector show IPSW download progress. (#593)
- Developer Tools access granted or revoked in System Settings applies without reopening Launchpad. (#595, #594)
- Closing the window while a machine is being created asks first, and Cancel keeps the window. (#587)
- Finder and the Dock show "VPhone Launchpad". (#585)
vphone-launchpad-clistarts Launchpad hidden unless--foregroundis given. (#586)- The helper (build 13) adds the kernel update and keeps the end of a root CFW run in the machine's console log; Launchpad reinstalls it on the next start. (#569)
Upgrading
Launchpad 2.6.0 needs VPhone.bundle 2.6.x, because machine Settings pass vm config --unlock-at-startup. Download the notarized vphone-launchpad-2.6.0-notarized.zip, then install VPhone.bundle 2.6.0 from Core Bundle and move your machines to it with Change Core Bundle… (turn on Update guest environment to get the new guest patches). Launchpad 2.5.x does not work with this bundle. The vphone-launchpad-2.6.0.zip built by CI is unsigned.
The first-package step of the package environment guide is now the single owngoal-bootstrap-vphone package. (#589)