From 6667b2cf9c430e11c3aa5bdfc69424bff719faaa Mon Sep 17 00:00:00 2001 From: aricloverEXTRA <157071384+aricloverEXTRA@users.noreply.github.com> Date: Thu, 6 Nov 2025 16:10:58 -0600 Subject: [PATCH] Fix YouTube Sign-In Patch crashes (uYouPlusPatches.xm) This fixes only the crashing, not the functionality of the patch for now. Sorry to disappoint. --- Sources/uYouPlusPatches.xm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/Sources/uYouPlusPatches.xm b/Sources/uYouPlusPatches.xm index 5b41be9..0ab7a33 100644 --- a/Sources/uYouPlusPatches.xm +++ b/Sources/uYouPlusPatches.xm @@ -2,14 +2,29 @@ # pragma mark - YouTube patches -// Fix Google Sign in by @PoomSmart and @level3tjg (qnblackcat/uYouPlus#684) +// Fix Google Sign in Patch %group gGoogleSignInPatch %hook NSBundle - (NSDictionary *)infoDictionary { - NSMutableDictionary *info = %orig.mutableCopy; - if ([self isEqual:NSBundle.mainBundle]) - info[@"CFBundleIdentifier"] = @"com.google.ios.youtube"; - return info; + NSDictionary *orig = %orig; + if ([self isEqual:NSBundle.mainBundle]) { + NSArray *stack = [NSThread callStackSymbols]; + BOOL needsSpoof = NO; + for (NSString *frame in stack) { + if ([frame containsString:@"GIDSignIn"] || + [frame containsString:@"GTMSessionFetcher"] || + [frame containsString:@"GoogleSignIn"]) { + needsSpoof = YES; + break; + } + } + if (needsSpoof) { + NSMutableDictionary *patched = [orig mutableCopy]; + patched[@"CFBundleIdentifier"] = @"com.google.ios.youtube"; + return [patched copy]; + } + } + return orig; } %end %end