禁止iOS读取应用快照

在didFinishLaunchingWithOptions方法里添加以下代码,可以禁止系统读取应用快照,这样应用在进入后台后,按下Home键显示的应用快照是纯黑的,可以避免信息泄露。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    if (@available(iOS 13.0,*)) {
        NSString * path = [NSString stringWithFormat:@"%@/Library/SplashBoard/Snapshots", NSHomeDirectory()];
        NSError * error = nil;
        [[NSFileManager defaultManager] removeItemAtPath:path error:&error];
        if (error != nil) {
            NSLog(@"%@", error);
        }
        [[NSFileManager defaultManager] setAttributes:@{ NSFilePosixPermissions : @(0444) } ofItemAtPath:path error:&error];
        if (error != nil) {
            NSLog(@"%@", error);
        }
    } else {
        NSString * path = [NSString stringWithFormat:@"%@/Library/Caches/Snapshots", NSHomeDirectory()];
        NSError * error = nil;
        [[NSFileManager defaultManager] removeItemAtPath:path error:&error];
        if (error != nil) {
            NSLog(@"%@", error);
        }
        [[NSFileManager defaultManager] setAttributes:@{ NSFilePosixPermissions : @(0444) } ofItemAtPath:path error:&error];
        if (error != nil) {
            NSLog(@"%@", error);
        }
    }
    return YES;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容