diff --git a/Podfile.lock b/Podfile.lock index e98c286..98b425f 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -27,4 +27,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: fb1b1e412c5f88813595570bd6f951a741cda575 -COCOAPODS: 1.8.4 +COCOAPODS: 1.9.1 diff --git a/WeChatTweak.framework/Versions/A/Resources/Info.plist b/WeChatTweak.framework/Versions/A/Resources/Info.plist index 95bff03..8e8e74a 100644 --- a/WeChatTweak.framework/Versions/A/Resources/Info.plist +++ b/WeChatTweak.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 19B88 + 19C57 CFBundleDevelopmentRegion en CFBundleExecutable @@ -27,17 +27,17 @@ DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 11B500 + 11E146 DTPlatformVersion GM DTSDKBuild - 19B89 + 19E258 DTSDKName macosx10.15 DTXcode - 1120 + 1140 DTXcodeBuild - 11B500 + 11E146 LSMinimumSystemVersion 10.10 NSHumanReadableCopyright diff --git a/WeChatTweak.framework/Versions/A/WeChatTweak b/WeChatTweak.framework/Versions/A/WeChatTweak index 4f0042a..c54abb1 100755 Binary files a/WeChatTweak.framework/Versions/A/WeChatTweak and b/WeChatTweak.framework/Versions/A/WeChatTweak differ diff --git a/WeChatTweak/WeChatTweak.m b/WeChatTweak/WeChatTweak.m index 0ec24dc..b4fba42 100755 --- a/WeChatTweak/WeChatTweak.m +++ b/WeChatTweak/WeChatTweak.m @@ -16,6 +16,8 @@ #import "WTConfigManager.h" #import "RecallCacheManager.h" +static NSString * const WeChatTweakOpenNewWeChatKey = @"WeChatTweakOpenNewWeChatKey"; + // Global Function static NSString *(*original_NSHomeDirectory)(void); static NSArray *(*original_NSSearchPathForDirectoriesInDomains)(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde); @@ -281,7 +283,8 @@ static void __attribute__((constructor)) tweak(void) { } + (NSArray *)tweak_runningApplicationsWithBundleIdentifier:(NSString *)bundleIdentifier { - if ([bundleIdentifier isEqualToString:NSBundle.mainBundle.bundleIdentifier]) { + BOOL openNewWeChat = [NSUserDefaults.standardUserDefaults boolForKey:WeChatTweakOpenNewWeChatKey]; + if (openNewWeChat && [bundleIdentifier isEqualToString:NSBundle.mainBundle.bundleIdentifier] ) { return @[NSRunningApplication.currentApplication]; } else { return [self tweak_runningApplicationsWithBundleIdentifier:bundleIdentifier]; @@ -298,11 +301,16 @@ static void __attribute__((constructor)) tweak(void) { } - (void)openNewWeChatInstace:(id)sender { + [NSUserDefaults.standardUserDefaults setBool:YES forKey:WeChatTweakOpenNewWeChatKey]; + [NSUserDefaults.standardUserDefaults synchronize]; NSString *applicationPath = NSBundle.mainBundle.bundlePath; NSTask *task = [[NSTask alloc] init]; task.launchPath = @"/usr/bin/open"; task.arguments = @[@"-n", applicationPath]; [task launch]; + [task waitUntilExit]; + [NSUserDefaults.standardUserDefaults removeObjectForKey:WeChatTweakOpenNewWeChatKey]; + [NSUserDefaults.standardUserDefaults synchronize]; } #pragma mark - Auto Auth