录屏状态监听之防录屏 - iOS
继之前接到电话、短信和截屏监听需求之后,在 iOS 11.0 系统之上新增了屏幕录制的新功能玩法,所以也随之迎来了新的屏幕录制监听的需求,即防录屏功能监听 。。。
通过官方文档得知 capturedDidChangeNotification 方法可以捕获屏幕状态发生变化时发送的通知,故借此方法展开监听的操作,具体 code 如下:
一、方法实现
#pragma mark - 监听录制 /** 监听屏幕录制 iOS 11.0 版本以上 */ - (void)monitorRecordVideo {// 监听屏幕录制 kWeakSelf(self); // 监测设备的录制状态 if (@available(iOS 11.0, *)) { [[NSNotificationCenter defaultCenter] addObserverForName:UIScreenCapturedDidChangeNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification * _Nonnull note) { NSLog(@"屏幕录制 ..."); [weakself showPromptWarningView]; }]; } else { // Fallback on earlier versions } } /** 提示视图 */ - (void)showPromptWarningView { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请勿录制" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil]; [alertView show]; }
注:因该方法是 iOS 11.0 之后新增,所以要添加系统版本的判定,避免不必要的意外状况发生。
二、方法调用
在所需要的页面或地方直接调用该方法即可,页面中可以在 viewWillAppear 或 viewDidLoad 方法中都 ok。
[self monitorRecordVideo];// 防录屏监听
以上便是此次分享的内容,希望内容能对大家实际有所帮助,有什么不足之处欢迎指点共同进步!