Releases: khanhduytran0/LiveContainer
3.1.0
New Features
New Signer: ZSign
ZSign is now added as one of LiveContainer's signers.
- ZSign has less format check comparing to AltSign, the signer used by SideStore/AltStore/LiveContainer, so it potentially signs apps then AltSign, solving issues like #222 and #134.
- Its caching feature allows it to sign faster than AltSign.
AltSign remains the default signer for competibility reasons. You can switch signer in Settings and app-specific settings for one specific app.
Re-Sign Only on Expiration
LiveContainer now keeps track of the date of expiration of each app's code signature and only signs when its signature is expired. So re-signing happens less frequent than before.
Automatic Tweak Re-Sign
LiveContainer now keeps track of the tweaks you added and re-signs it if it is changed or its code signature expires, which makes tweak development with LiveContainer more convenient.
Implement #175.
Multiple Container Support
You can now create up to 3 containers for each app, so you can log in multiple accounts in different containers(data folders).
Keychains are now semi-separated between app containers. Note that keychains will be removed if you delete a container in LiveContainer.
keychains created in older version will remain untouched so you can continue using your apps like before. To use this feature, clean up your keychain in LiveContainer settings.
This feature, along with the following fix of NSUserDefault leak impelements #218 #176.
Language Selection for Each App
You can now choose an language for an app in app-specific settings.
Implement #171
App Preferences
You can now modify app preferences in LiveContainer like in iOS Settings. To change app preferences, go to app-specific settings -> (container name) -> Container Preferences
Implement #252
Force Orientation Lock
This option can be used to solve some game having stretched/mal-functioning UI when launched in portrait mode
Implement #251
JITLess Support for Multiple SideStores
If you use Multiple SideStores with SparseRestore, you can now export the tweaked SideStore IPA and install it manually to enable JITLess mode.
Implement #219
Bug Fixes
- NSUserDefault Leak & Random Signing out: NSUserDefault(app preferences) are now almost separated and properly placed in app's data folder. Solve #149 #163 #215
- Game Controller Support: You can now use game controllers in LiveContainer
- Hook
-[VSSubscriptionRegistrationCenter setCurrentSubscription:]
: Solve #227 - New file picker & local notification fix
- App receiving LiveContainer's launch URL after launch: Solve #243
3.0.0
Features
iOS 18.2+ Support
SwiftUI rewrite (#153)
LiveContainer now has a AltStore-like UI.
- Main page is colorful now (#192) by @slds1
- SideJITServer/JITStreamer 2.0 support
- AltStore support
- New JITLess mode that patch your store, so no jitless renew is required
- Locking(#164) apps by @fkunn1326 & hiding apps
Multiple LiveContainer (#153)
Now you can install 2 LiveContainers to run 2 apps at the same time. App and their data, Keychains and most preferences can be shared between these two. If user open an app via URL Scheme or from My Apps screen, the LiveContainer that last ran that app will be switched to.
Better Open in App Support (#153)
It turns out that some apps don't rely on URL Schemes and use Universal Links instead. In this update, the web page's apple-app-site-association
will be checked and LiveContainer will launch app based on it.
Localization (#153)
Localization is now supported. You can add a language in LiveContainerSwiftUI project and add your translation in Localizable.xcstrings
, then submit your translation as PR. We may consider adding something like a Crowdin page if it’s large enough (?)
Dedicated AltStore/SideStore source (#156)
Fixes
iOS file picker issue (#153): #68, #123, #142
Duplicated Flutter-based app bundle name (#153): #112
2.1.2
⚠️ This build is OUTDATED. Please use builds from the Actions tab or nightly.link.
Feature: AltStore support
(untested)
Bug fixes
- JIT-less setup may fail to find the signing certificate. This is worked around by re-adding the glob keychain group entitlement. (not guaranteed to work, as I couldn’t reproduce the issue in the first place)
- Switches in settings not working. Apparently using the private Preference framework causing changes to be saved to the wrong preference file.
- Some apps may get stuck on a black screen caused by an unknown deadlock. This is worked around by pre-initializing
UIScreen
. - Some apps may fail to create temporary files. This is fixed by redirecting guest app’s temporary directory to that of LiveContainer using symlink instead of creating its own. (thanks @hugeBlack for hinting me the issue)
2.1.1
2.1
I skipped 2.0 full release since this also introduces new features.
Features
Add app shortcuts to Home Screen
This was suggested by some people, and there was also a PR (#62, thanks @Vishram1123) trying to implement this as half app and half shortcuts.
I eventually implemented the entire functionality into LiveContainer.
Tweak injection support for JIT-less
Tweak injection has been there since early builds, but it wasn’t useful due to lack of user interface and JIT requirement. Now with support for JIT-less and a basic UI will make things more fun.
See this for more info.
- Includes MobileSubstrate.framework
More options in settings page
- Some toggles of newly added features
- About me
Bug fixes
- The
code signature invalid
error is very annoying. It can happen to anyone but me (it works on my machine). I tried to mitigate this error by supplying additional certificate sourceALTCertificate.p12
but it was not present on some installations. Eventually, I made it use both sources, preferALTCertificate.p12
if available. - Between 2.0-pre and 2.1, a regression caused weird issues on iOS 18 (it started with crashing (#69), “fixed”, then wrong resolution (#93)).
- (Hopefully) Broader app compatibility
2.0 pre-release
Feature: JIT-less mode
- JIT-less mode allows you to run app inside LiveContainer without having to enable JIT, which is best suited for iOS 17 as enabling JIT on device is no longer possible.
- It works by directly loading signed Mach-O from Documents directory which is only allowed if host app has
get-task-allow
entitlement.
Known issues
- App compatibility: some apps (Provenance) will not work yet; some tweaked apps (uYou+) will crash because of CydiaSubstrate.
Failed to find certificate
issue may occur for some users.
See Issues tab for more info.