From d8d9e2a181b45771da606e50bb4788e8b3c6e7b4 Mon Sep 17 00:00:00 2001 From: nab138 Date: Thu, 20 Nov 2025 22:29:30 -0500 Subject: [PATCH] Add the option to force SideStore Group ID --- Cargo.lock | 2 +- isideload/Cargo.toml | 2 +- isideload/src/lib.rs | 3 +++ isideload/src/sideload.rs | 9 ++++++++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8a920e7..0e4de6a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -981,7 +981,7 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "isideload" -version = "0.1.18" +version = "0.1.19" dependencies = [ "hex", "idevice", diff --git a/isideload/Cargo.toml b/isideload/Cargo.toml index 48ce5bf..52ee311 100644 --- a/isideload/Cargo.toml +++ b/isideload/Cargo.toml @@ -3,7 +3,7 @@ name = "isideload" description = "Sideload iOS/iPadOS applications" license = "MPL-2.0" authors = ["Nicholas Sharp "] -version = "0.1.18" +version = "0.1.19" edition = "2024" repository = "https://github.com/nab138/isideload" documentation = "https://docs.rs/isideload" diff --git a/isideload/src/lib.rs b/isideload/src/lib.rs index b127f9d..8de42e6 100644 --- a/isideload/src/lib.rs +++ b/isideload/src/lib.rs @@ -63,6 +63,8 @@ pub struct SideloadConfiguration<'a> { pub store_dir: std::path::PathBuf, /// Whether or not to revoke the certificate immediately after installation pub revoke_cert: bool, + /// Whether or not to force SideStore App Group (fixes LiveContainer+SideStore issues) + pub force_sidestore_app_group: bool, } impl Default for SideloadConfiguration<'_> { @@ -78,6 +80,7 @@ impl<'a> SideloadConfiguration<'a> { logger: &DefaultLogger, store_dir: std::env::current_dir().unwrap(), revoke_cert: false, + force_sidestore_app_group: false, } } diff --git a/isideload/src/sideload.rs b/isideload/src/sideload.rs index 88fe89e..904dd45 100644 --- a/isideload/src/sideload.rs +++ b/isideload/src/sideload.rs @@ -252,7 +252,14 @@ pub async fn sideload_app( } } - let group_identifier = format!("group.{}", main_app_id_str); + let group_identifier = format!( + "group.{}", + if config.force_sidestore_app_group { + "com.SideStore.SideStore" + } else { + &main_app_id_str + } + ); if is_sidestore { app.bundle.app_info.insert(