アプリケーションがバックグラウンド状態になると、iOS は自動的にスクリーンショットを撮り、フォアグラウンドに入るときにそれを表示します。スクリーンショットは、アプリの外からアクセスできます。
画面に機密データがある場合、セキュリティ上の問題になる可能性があります。
これが私がこの問題を処理した方法です。より良い方法があれば提案してください。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Add overlay image to prevent automatic screenshot while entering background
// prepare image to display
self.splashImageView = [[UIImageView alloc] initWithImage:image];
UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
CGFloat angle = [self angleForOrientation:orientation];
CGAffineTransform transform = CGAffineTransformMakeRotation(angle);
self.splashImageView.transform = transform;
self.splashImageView.frame = self.window.frame;
[self.window addSubview:self.splashImageView];
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
if ([_splashImageView superview])
{
[_splashImageView removeFromSuperview];
self.splashImageView = nil;
}
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
}