錄屏狀態監聽之防錄屏 - 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];// 防錄屏監聽

  

電話狀態監聽 - iOS

短信狀態監聽 - iOS

截屏狀態監聽 - iOS


 

以上便是此次分享的內容,希望內容能對大家實際有所幫助,有什么不足之處歡迎指點共同進步!

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM