Don't reinstall on first SideStore refresh

This commit is contained in:
naturecodevoid
2023-04-01 16:09:28 -07:00
parent 0c171122b2
commit 40e1225b87

View File

@@ -874,7 +874,11 @@ private extension AppManager
// Check if backup app is installed in place of real app.
let uti = UTTypeCopyDeclaration(app.installedBackupAppUTI as CFString)?.takeRetainedValue() as NSDictionary?
if app.certificateSerialNumber != group.context.certificate?.serialNumber ||
// for some reason, `app.certificateSerialNumber != group.context.certificate?.serialNumber` is true on first SideStore refresh
// in most cases, the first refresh gets stuck since it is a full reinstall, and to fix it you must exit to home screen
// which finishes it but removes all app data
// so we want to ensure we don't reinstall for SideStore if it's true (it will still reinstall if needsResign is true)
if (app.certificateSerialNumber != group.context.certificate?.serialNumber && app.bundleIdentifier != StoreApp.altstoreAppID) ||
uti != nil ||
app.needsResign
{