Feature/app bundle only output#29
Open
drphero wants to merge 13 commits into
Open
Conversation
- 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
.ipameans the device needs room for both the copied decrypted.appbundle 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
.appbundle 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
.appbundles under the existing TrollDecrypt output directoryNotes
Full IPA and Main Binary Only behavior should remain unchanged. The new path is only used when App Bundle Only is selected.