Ios 如何从应用程序窗口';当用户按下home按钮时,但在应用程序进入后台之前,是否显示rootViewController?

Ios 如何从应用程序窗口';当用户按下home按钮时,但在应用程序进入后台之前,是否显示rootViewController?,ios,objective-c,Ios,Objective C,我有一个包含一些敏感信息的应用程序,我不希望其他人在应用程序进入后台之前抓拍屏幕,所以我想在用户按下home按钮后在屏幕上显示一个pattern lock viewController。我试过这个密码 - (void)applicationWillResignActive:(UIApplication *)application { PatternLockViewController *pvc = [[SMICConfig sharedSMICConfig] patternLoc

我有一个包含一些敏感信息的应用程序,我不希望其他人在应用程序进入后台之前抓拍屏幕,所以我想在用户按下home按钮后在屏幕上显示一个pattern lock viewController。我试过这个密码

- (void)applicationWillResignActive:(UIApplication *)application
    {
    PatternLockViewController *pvc = [[SMICConfig sharedSMICConfig] patternLockVC];
    if (!(pvc.isViewLoaded && pvc.view.window) && [SMICConfig sharedSMICConfig].isCookie)    {
    [self.window.rootViewController presentViewController:pvc animated:NO completion:nil];
     }
}   
但PatternLockViewController仅在应用程序进入前台后出现。因此,当应用程序停留在后台时,您可以双击home按钮查看一些信息

腾讯qq的模式锁非常好。我只是想实现这个效果


有人能帮我吗?谢谢

您可以通过调用
ignoresnapshottonnextapplicationlaunch

下面是我如何为我的应用程序实现的。希望能有帮助

- (void)applicationWillResignActive:(UIApplication *)application {
    [application ignoreSnapshotOnNextApplicationLaunch];
    self.imageView = [[UIImageView alloc]initWithFrame:[self.window frame]];
    [self.imageView setImage:[UIImage imageNamed:@"Default-568h"]];
    [self.window addSubview: self.imageView];
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    if (self.imageView != nil) {
        [self.imageView removeFromSuperview];
        self.imageView = nil;
    }
}

ignoresnapshottonnextapplicationlaunch
仅在ios 7及更高版本中可用,如果我的目标是ios 6或更早版本,是否有办法处理此问题?ios 6没有多任务处理:,我认为这是一个问题,感谢您的解决方案我的代码与我的物理设备完美配合>_