Using Tweaks
LiveContainer provides a way to inject tweaks without injecting it to the app beforehand. Direct injection is still recommended as not all tweaks work correctly with LiveContainer's TweakLoader.
LiveContainer comes with its own TweakLoader, which automatically load Ellekit and tweaks. TweakLoader is injected to every app you install. You can override TweakLoader.dylib symlink with your own implementation if you wish.
How Loading Works
When an app launches with TweakLoader enabled, LiveContainer loads items in this order:
- CydiaSubstrate(Ellekit)
- Global tweaks from the root
Tweaksfolder - Tweaks from the selected app-specific tweak folder (loaded recursively)
LiveContainer supports importing:
.dylib.framework
Global vs App-Specific Tweaks
| Type | Where to put files | Scope |
|---|---|---|
| Global tweak | Root Tweaks folder | Loaded for all apps |
| App-specific tweak | A subfolder under Tweaks | Loaded only for apps that select that folder |
Managing tweaks is only available in the primary LiveContainer (Blue) and for private apps. If you want to load tweaks for a shared app, convert it to private app before adding tweaks to it. You can convert it back when you are done and the tweak will still work.
To assign an app-specific folder:
- Open
Tweakstab. - Create a new folder.
- Import tweaks into that folder.
- Open app settings and set
Tweak Folderto that folder.
For shared apps, Tweak Folder is read-only in app settings. If needed, switch the app to private mode, configure the tweak folder, then switch back.
Managing Tweaks
- Import:
Tweakstab ->+->Import Tweak - New folder:
Tweakstab ->+->New Folder - Rename: hold an item ->
Rename - Delete: swipe left on an item ->
Delete
Tweak Signing
Tweaks must be signed before they can be loaded successfully.
LiveContainer handles this automatically before app launch:
- It checks tweak files and existing
TweakInfo.plistrecords. - It re-signs when files changed or signatures are invalid/expired.
- It updates
TweakInfo.plistafter signing.
You can also force re-sign manually in Tweaks tab using the Sign button.
Related App Settings
These options affect tweak behavior:
Don't Inject TweakLoader: do not inject loader load commands during patch/sign.Don't Load TweakLoader: when available with the first option, also skip runtime loading.
If both are enabled, no tweak (including TweakLoader.dylib itself) is loaded for that app.
Troubleshooting
- Tweaks not applied to one app:
Check that the app's
Tweak Folderis set correctly and TweakLoader is not disabled in app settings. - Tweaks not applied to any app:
Check whether global tweaks were added to the root
Tweaksfolder and are signed. - Framework tweak fails to load:
Check the framework bundle contains a valid
Info.plistandCFBundleExecutable. - A tweak still fails after setup: Test direct injection for that tweak, because compatibility can vary.
- Invalid Signature: You may need to manually re-sign your tweaks.