From 912c340ff39944d87a1fcc11760934226cf5685f Mon Sep 17 00:00:00 2001 From: "aricloverGitHub (INACTIVE)" <78001398+arichornlover@users.noreply.github.com> Date: Thu, 27 Mar 2025 18:49:54 -0500 Subject: [PATCH] Rewrite Sign-In Patch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sign-in patch now includes the system where it automatically turns off if app restarted “2” times, and if the app somehow crashes when using Sign-In Patch in the future, I made sure it turns off automatically if the app ever crashes. Sign-In Patch was never meant to always stay on. --- Sources/uYouPlusPatches.xm | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/Sources/uYouPlusPatches.xm b/Sources/uYouPlusPatches.xm index 5b41be9..a78d428 100644 --- a/Sources/uYouPlusPatches.xm +++ b/Sources/uYouPlusPatches.xm @@ -6,12 +6,41 @@ %group gGoogleSignInPatch %hook NSBundle - (NSDictionary *)infoDictionary { + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + BOOL patchEnabled = [defaults boolForKey:@"kGoogleSignInPatch"]; + if (!patchEnabled) { + return %orig; + } + NSInteger restartCount = [defaults integerForKey:@"kGoogleSignInPatchRestartCount"]; + if (restartCount >= 2) { + [defaults setBool:NO forKey:@"kGoogleSignInPatch"]; + [defaults synchronize]; + return %orig; + } + [defaults setInteger:restartCount + 1 forKey:@"kGoogleSignInPatchRestartCount"]; + [defaults synchronize]; + BOOL crashDetected = [defaults boolForKey:@"kGoogleSignInPatchCrashFlag"]; + if (crashDetected) { + [defaults setBool:NO forKey:@"kGoogleSignInPatchCrashFlag"]; + [defaults setBool:NO forKey:@"kGoogleSignInPatch"]; + [defaults synchronize]; + return %orig; + } NSMutableDictionary *info = %orig.mutableCopy; - if ([self isEqual:NSBundle.mainBundle]) + if ([self isEqual:NSBundle.mainBundle]) { info[@"CFBundleIdentifier"] = @"com.google.ios.youtube"; + } return info; } %end +%hook NSException ++ (void)raise:(NSException *)exception { + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + [defaults setBool:YES forKey:@"kGoogleSignInPatchCrashFlag"]; + [defaults synchronize]; + %orig(exception); +} +%end %end // Workaround for MiRO92/uYou-for-YouTube#12, qnblackcat/uYouPlus#263