Summary
Creating an iOS 18.6.2 machine from Launchpad with the default slimming options fails at the Set up and slim system step:
Error: service group(s) accounts need the trimmed service list, which vphoned has for iOS 26, iOS 27, not iOS 18.6.2When "Turn off unneeded services" is on (the default), Launchpad always adds --accounts-off, whatever the guest's iOS version. The CLI quietly drops the trimmed service profile on iOS < 26, but it refuses the accounts service group. So any iOS < 26 machine created with the default options fails.
Environment
- Launchpad / vphone-cli version: 2.9.5
- Host: MacBook Pro, macOS 15.8.1 (24H32)
- Guest: iPhone 16 (iPhone17,3), iOS 18.6.2 (22G100), cloudOS 26.1 (23B85)
- New Machine options: defaults; Use Template off, Slim System on, Trim standard, "Turn off unneeded services" on, "Remove system apps" off
Steps to reproduce
- Launchpad → New Machine → iPhone 16, iOS 18.6.2, default options.
- Create.
Expected
The machine is set up and slimmed. The service profile falls back to none, as the CLI already does for iOS < 26, and the Apple Account group is skipped.
Actual
Create machine, firmware, boot chain, restore, CFW install and trim all succeed (about 4 minutes). Then vm template setup exits right away:
$ vphone-cli vm template setup iOS_18.6.2_16 --strict --accounts-off --remove-apps off --library-root /Users/user/.vphone/machines
Error: service group(s) accounts need the trimmed service list, which vphoned has for iOS 26, iOS 27, not iOS 18.6.2
Usage: vphone-cli <subcommand>
See 'vphone-cli --help' for more information.
✕ Set up and slim system failed."Retry from Set up and slim system" replays the same arguments and fails the same way every time (5 identical attempts in my log). The only way to recover is to delete the machine and start over.
Cause (as far as I can tell, at 23095c8)
VPhoneLaunchpad/VPhoneLaunchpad/Machines/VPhoneLaunchpadTemplates.swift:profileArgumentsreturns["--accounts-off"]whenevertrimsServicesis true (accountsOffdefaults totrueand isn't shown in New Machine). The guest's iOS version isn't checked.VPhoneKit/VPhoneCoreKit/Bundle/VPhoneMachineTemplateKey.swift:VPhoneMachineTemplateSlimming.fitted(toIOSVersion:)downgradesserviceProfiletononefor majors outsidetrimmedServiceProfileMajors([26, 27]). IfserviceGroupsisn't empty, it throws instead.
So the GUI's default for iOS 26+ is always rejected on older guests.
Workaround
Turn off Advanced Options → Services and Apps → "Turn off unneeded services". Launchpad then passes --service-profile none instead of --accounts-off. On iOS < 26 this loses nothing, because the trimmed list doesn't exist there anyway.
Possible fixes
- In Launchpad, pass
--accounts-offonly when the guest's iOS major is inVPhoneTemplateSlimmingRequest.trimmedServiceProfileMajors. Alternatively, grey out or auto-disable "Turn off unneeded services" for those versions. - And/or check this in Launchpad before the restore starts, so it fails in seconds instead of after the whole restore + CFW install.
- And/or let "Retry from…" run with changed slimming options, so a failed creation can be recovered without starting over.
Full creation log: Creation log.rtf
Activity
0No activity yet.