Skip to content

Feature/app bundle only output#29

Open
drphero wants to merge 13 commits into
donato-fiore:mainfrom
drphero:feature/app-bundle-only-output
Open

Feature/app bundle only output#29
drphero wants to merge 13 commits into
donato-fiore:mainfrom
drphero:feature/app-bundle-only-output

Conversation

@drphero
Copy link
Copy Markdown

@drphero drphero commented Apr 30, 2026

Summary

This adds an App Bundle Only output mode for TrollDecrypt.

The main motivation is storage pressure on older devices. When decrypting a larger app or game on something like an older iPad, generating a full .ipa means the device needs room for both the copied decrypted .app bundle and the final archive. For large games, that can be enough to make the workflow fail even though the actual decrypted app bundle would fit.

With this mode, TrollDecrypt can now save the fully decrypted .app bundle directly under the normal TrollDecrypt output folder without also packaging it into an .ipa.

Why

My use case is decrypting games on an iPad Air 2 with only 16GB of storage (most of which is used by the system), then moving the decrypted bundle to an Apple silicon Mac to package, install, and play from there. The iPad is the device that can decrypt the app, but it is not always the best place to also build the final archive. I know it's possible to only decrypt the main binary, but that adds more steps in the process like hunting for the UUID.

This keeps the existing full IPA workflow intact, while making the low-storage path possible.

Changes

  • Added a third decrypt option: App Bundle Only
  • Saves decrypted .app bundles under the existing TrollDecrypt output directory
  • Avoids creating the extra IPA archive in app-bundle-only mode
  • Shows saved app bundles in the output browser
  • Adds actions for locating or sharing app bundle outputs
  • Cleans up partial app bundle outputs if the task fails

Notes

Full IPA and Main Binary Only behavior should remain unchanged. The new path is only used when App Bundle Only is selected.

drphero added 13 commits April 28, 2026 09:12
- Replace decryptBinaryOnly with TDDecryptionOutputMode
- Preserve Full IPA as the default mode
- Share one action sheet between row and manual bundle flows
- Offer Full IPA, App Bundle Only, and Main Binary Only in order
- Dismiss manual entry before presenting output options
- Add APP_BUNDLE_ONLY fallback to every locale
- Place it with the existing output mode labels
- Add App Bundle output failure error mapping
- Add Saving app bundle progress key to all localizations
- Add explicit output mode booleans
- Remove stale App Bundle output before launch and copy
- Track target and extension PIDs after successful launches
- Kill owned launched processes through one cleanup block before completion
- Move copied decrypted app to the final App Bundle Only path
- Return the final .app URL before IPA packaging
- Guard IPA construction behind Full IPA mode
- Add App Bundle-only partial output cleanup block
- Remove final .app and .work artifacts on App Bundle failure paths
- Add App Bundles section label to every locale file
- Add Copy Path action label to every locale file
- Discover .app directories under the output path
- Add an App Bundles section with recursive MB sizing
- Keep archive and binary sections in their existing order around it
- Route app bundle rows to Filza and Copy Path actions
- Use shared URL lookup for swipe deletion
- Preserve share sheets for archive and binary outputs
- Add Copy Path to App Bundle Only success alerts
- Keep existing Filza and OK actions intact
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant