Sideload GestaltX & App Groups

How to sign GestaltX and its Share Extension with a common App Group, set up Pairing & LocalDevVPN for v1.1.1, and export Keychain-verified backups.

  • Common App Group required
  • Keep Share Extension intact
  • LocalDevVPN for Audio capture
  • Keychain-bound plist exports
Macro photograph of a USB-C connector showing metallic contact pins
Wired USB-C data link for initial App Group provisioning and off-device MobileGestalt plist backups
Advertisement

App Group Signing Requirements

GestaltX relies on forcequitOS/worse_query to access container paths through a signed App Group directory (<app group>/Library/Caches). In addition, GestaltX bundles an embedded Share Extension used to import local .plist files and .tendies / .zip wallpaper packs. Both binaries must be signed with at least one common App Group:

Signing Tool / ProfileGestaltX StatusEntitlement BehaviorSetup Note
SideStoreSupportedPreserves embedded App Groups & Share ExtensionKeep extensions enabled when installing IPA
AltStoreSupportedDetects ad-hoc embedded App Group entitlementsRequires AltServer over USB or local Wi-Fi
Impactor (plumeimpactor)SupportedAllocates App Group container for free & paid Apple IDsDirect USB provisioning on macOS, Windows, Linux
iLoaderSupportedMaintains application-groups across app + pluginSupports Pairing file generation workflow
Paid Apple Developer IDSupportedExplicit common App Group on main app + Share ExtensionAvoid wildcard * profiles without App Groups
Sideloadly (Free Apple ID)Fails App GroupStrips application-groups on personal teamsTriggers No App Group error on launch
Enterprise Wildcard CertificateFails App GroupLacks bound App Group container in profileCannot allocate class-7 cache symlink path

Upstream IPAs on GitHub carry an ad-hoc signature with entitlements already embedded so SideStore and AltStore detect them automatically during re-signing. Do not strip plugins/extensions when signing, and if your developer certificate carries multiple App Groups, GestaltX v1.0.4+ automatically iterates every signed group until access succeeds (#47, #133).

Step-by-Step Sideload Workflow

Use a wired USB-C data connection for initial provisioning so your signing tool can register the App Group and install the Share Extension cleanly:

Advertisement
  1. Verify the IPA digest: Download GestaltX_1.1.1.ipa from the SHA-256 download ledger and confirm its hash matches 0621b070cafacb2f1f83fad459697d02263e513b04d77b462da333c5b0a4e708.
  2. Sign with App Groups intact: Import GestaltX_1.1.1.ipa into SideStore, AltStore, Impactor, or iLoader. When prompted about app extensions, choose to keep the Share Extension.
  3. Trust & Developer Mode: Open Settings → General → VPN & Device Management to trust your Apple ID certificate, and ensure Settings → Privacy & Security → Developer Mode is active.
  4. Confirm initial backup: Launch GestaltX on iOS/iPadOS 27.0–27.3 Beta 1. Before any preset edit occurs, GestaltX automatically reads your live cache and stores an initial SHA-256-verified backup in Backups.

On iOS or iPadOS 26.0–26.7.2, installation succeeds with the exact same signing rules, and About displays on-device MobileGestalt access as unsupported while keeping local plist Share imports and container features active.

Pairing & LocalDevVPN Setup

GestaltX v1.1.1 (Build 11140102) added Pairing & Device Connection to resolve notification sound paths for third-party apps inside App Audio Library:

  • Generate a mobiledevice pairing file: Connect your iPhone or iPad to a trusted Mac or PC over a data-capable USB cable, tap Trust This Computer, and generate/import your pairing record with your sideloading companion (such as SideStore/Jitterbugpair or iLoader).
  • Start LocalDevVPN before capture: Enable your local loopback tunnel (LocalDevVPN or StosVPN) before running the App Audio path capture guide. In v1.1.1, GestaltX checks tunnel connectivity upfront, displays LocalDevVPN guidance, and stops capture cleanly if the tunnel drops.
  • Reinstall container migration: Re-signing or reinstalling from another tool can move the app's data container UUID; v1.1.1 automatically migrates saved pairing paths when the container relocates.

Release v1.1.1 also resolved a pairing failure and audio file-picker restriction that affected side-loaded release builds.

Exporting Verified Plist Backups

Before changing any MobileGestalt key, open Backups in GestaltX and export a copy of your untouched plist to Files, iCloud Drive, and an external SSD or computer. Exports created on-device carry a device-bound verification proof (#59) whose secret key stays inside the device-only Keychain and is never written into the exported plist itself.

When you later re-import a plist via Files → Share → GestaltX, the Share Extension opens the file with O_NOFOLLOW (#35), checks container boundaries (#72), and verifies either the Keychain proof or at least two unique hardware identifiers before opening it in MG Control. Unverifiable or foreign device plists are rejected before any system write can happen.

USB-C Sideloading & Backup Gear

Provisioning GestaltX with SideStore, AltStore, Impactor, or iLoader and generating a Pairing file for App Audio Library requires a reliable wired USB data cable, while an external SSD keeps a clean off-device copy of com.apple.MobileGestalt.plist and full Finder/iTunes backups:

HardwareRole in GestaltX WorkflowSpecificationAmazon
Anker 240W USB-C Data & Power CableWired IPA signing & Pairing file captureUSB-IF certified USB-C data & 240W power leadCheck price
Apple 60W Woven USB-C Sync CableMac / Windows sync & recovery restoreWoven 1m USB-C charge and USB 2 data cableCheck price
SanDisk 1TB Extreme Portable USB-C SSDOff-device OriginalGestalt.plist & iOS backups1TB NVMe USB-C 3.2 Gen 2 (up to 1,050 MB/s)Check price
UGREEN Revodok 10Gbps USB-C HubMulti-port USB-C & USB-A bridge for MacBooks10Gbps data ports with 100W PD pass-throughCheck price

As an Amazon Associate, this site earns from qualifying purchases.

Advertisement
Four iPhone 15 and iPhone 15 Pro smartphones showing Dynamic Island sensor cutouts and rear camera modules
iPhone OLED hardware and Dynamic Island cutout geometry targeted by GestaltX display presets
Three iPad Pro and iPad tablets arranged side by side on a neutral studio surface
iPadOS tablet hardware for Stage Manager, external display, and Apple Pencil capability flags
Open 16-inch MacBook Pro notebook computer on a desk used for USB sideloading and pairing setup
macOS USB host for SideStore, AltStore, Impactor, and Pairing file generation

Common questions

Can I install GestaltX inside LiveContainer?

GestaltX requires a shared App Group between the main app and its embedded Share Extension plus LocalDevVPN pairing support, so direct installation with SideStore, AltStore, Impactor, or iLoader is recommended. Users who strictly need an unsigned LiveContainer tweak tool can check adnan120hz/WorkTweaks.

What happens if I re-sign GestaltX without its Share Extension?

Removing the Share Extension breaks Share → GestaltX imports for local .plist files and .tendies / .zip PosterBoard wallpaper packs. Always preserve extensions when re-signing.

Where is GestaltX’s export verification key stored?

The verification key stays in the iOS device-only Keychain and is never embedded inside exported plist files. That lets GestaltX confirm same-device origin on re-import even when an original plist lacks unique serial strings.