总所周知, 同一个小程序是没法多开的 ,想实现如下效果:
实现效果:
思路:
1.每次打开小程序前 ,必定会有判断函数判断, 这个小程序是否打开过
2.找到判断是否打开过的位置, 返回0 , 或者找到记录打开过的位置清除数据
3.必定在打开小程序方法附近
找的过程就不说了
直接上hook代码
我用的是直接清除数据源, 找到记录打开过的小程序的字典 taskInstances 清空 , 这样就认为小程序第一次打开
@interface WATaskCenter : NSObject
@property (nonatomic ,strong) NSDictionary * taskInstances;
@end
- (void)hook_innerLaunchMiniProgram:(id)arg1 completion:(id)arg2 {
WATaskCenter * waCenter = self;
waCenter.taskInstances = nil;
[self hook_innerLaunchMiniProgram:arg1 completion:arg2];
}
记录的打开过的小程序id