替换应用进入后台时的截屏

为什么要做这件事儿?

当应用进入后台时,系统会自动在当前应用的页面截屏并存储到手机内,如果当前页面涉及敏感信息时,被攻击会造成泄密。

方案一 模糊背景图片

在应用被挂起时,在当前页面添加一层高斯模糊,在应用重新进入前台时,删除模糊效果。

- (void)applicationDidEnterBackground:(UIApplication *)application {
    [super applicationDidEnterBackground:application];

     UIToolbar *bar =  [[UIToolbar alloc] initWithFrame:self.window.bounds];
     bar.barStyle = UIBarStyleDefault;
     bar.tag = 101;
    [UIApplication.sharedApplication.keyWindow.subviews.lastObject addSubview:bar];
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    [super applicationWillEnterForeground:application];

    UIView *view = (UIView *)[UIApplication.sharedApplication.keyWindow.subviews.lastObject viewWithTag:101];
    [view removeFromSuperview];
}

方案二 自定义背景图片

使用启动图作为进入后台的背景图片

- (void)applicationDidEnterBackground:(UIApplication *)application {
    [super applicationDidEnterBackground:application];

    UIImage * img = [VRLaunchApi getSplashImg];
    imageView.tag = 101;
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.window.bounds];
    [imageView setImage:img];
    [UIApplication.sharedApplication.keyWindow.subviews.lastObject addSubview:imageView];
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    [super applicationWillEnterForeground:application];

    UIImageView *imageView = (UIImageView *)[UIApplication.sharedApplication.keyWindow.subviews.lastObject viewWithTag:101];
    [imageView removeFromSuperview];
}

获取启动图片

+ (UIImage *)getSplashImg
{
    NSString *launchimg = @"";
    NSArray *imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
    CGSize viewSize = [UIScreen mainScreen].bounds.size;

    for (NSDictionary* dict in imagesDict)
    {
        CGSize imageSize = CGSizeFromString(dict[@"UILaunchImageSize"]);
        if (CGSizeEqualToSize(imageSize, viewSize) && [@"Portrait" isEqualToString:dict[@"UILaunchImageOrientation"]])
        {
            launchimg = dict[@"UILaunchImageName"];
            break;
        }
    }
    
    DLog(@"getSplashImg:%@",launchimg);
    return [UIImage imageNamed:launchimg];
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 版本记录 前言 我们在做一个APP时候需要注意哪些方面呢,接下来我们就看一下APP编程指南。里面有些可能大家在平时...
    刀客传奇阅读 2,043评论 0 3
  • 这是暗物质,小能熊365天写作计划第二十五天的写作内容,谢绝转载。 伦斯闭上眼,把全盘计划在心里过了一遍,确信没有...
    黑暗物质阅读 140评论 0 0
  • 今天和简书一朋友聊天,下午有事倒是回得利索,回家又一不小心变成了长篇大论哈哈,懒人就爱满嘴跑火车聊个没完没了。不过...
    凡三阅读 852评论 43 14
  • lW平淡是真阅读 66评论 0 3