赞
踩
继之前接到电话、短信和截屏监听需求之后,在 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];// 防录屏监听
以上便是此次分享的内容,希望内容能对大家实际有所帮助,有什么不足之处欢迎指点共同进步!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。