iOS应用程序安全

禁止iOS读取应用快照

2023-04-26  本文已影响0人  捡书

在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;
}
上一篇下一篇

猜你喜欢

热点阅读