Skip to content

Instantly share code, notes, and snippets.

@cxjwin
Created December 9, 2018 15:25
Show Gist options
  • Save cxjwin/057110f0ce4aac06538689b5ccea5c91 to your computer and use it in GitHub Desktop.
Save cxjwin/057110f0ce4aac06538689b5ccea5c91 to your computer and use it in GitHub Desktop.
Deactivate App
+ (void)deactivateAppForDuration:(NSTimeInterval)duration
{
//如果kif框架此方法支持了iOS11可以去掉此判断,执行kif的方法
// if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 11.0) {
// UIApplication *application = [UIApplication sharedApplication];
// [application.delegate applicationWillResignActive:application];
// [application.delegate applicationDidEnterBackground:application];
// [tester waitForTimeInterval:duration];
// [application.delegate applicationWillEnterForeground:application];
// [application.delegate applicationDidBecomeActive:application];
// } else {
// [system deactivateAppForDuration:duration];
// }
[[UIApplication sharedApplication] performSelector:@selector(suspend)];
[tester waitForTimeInterval:duration];
}
+ (void)reactivateApp {
[self isOpenApp:@"GrowingIO.GrowingIOTest"];
[tester waitForTimeInterval:1];
}
// 暴力打开某个APP = 。= 如果可以打开。直接打开不解释
// iOS11可用
+ (BOOL)isOpenApp:(NSString*)appIdentifierName {
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
BOOL isOpenApp = [workspace performSelector:@selector(openApplicationWithBundleID:) withObject:appIdentifierName];
return isOpenApp;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment