我试图检测iOS 11应用程序的屏幕截图是否打开,以检测此UIScreen.mainScreen.isCaptured
属性用于检查是否已记录。
在首次启动时运行良好,当应用程序终止并再次启动时,尽管屏幕截图已打开,但API返回NO。
代码:
//In viewWillAppear block
__block ViewController *weakSelf = self;
[NSTimer scheduledTimerWithTimeInterval:2.0 repeats:YES block:^(NSTimer * _Nonnull timer) {
[weakSelf screenCaptureDetection];
}];
- (void) screenCaptureDetection {
if (@available(iOS 11.0, *)) {
for (UIScreen *screen in [UIScreen screens]) {
if([screen performSelector:@selector(isCaptured)]){
//Detected YES
}
}
}
用例场景:
UIScreen.mainScreen.isCaptured
返回否请提出建议
答案 0 :(得分:0)
您应该反复检查记录。
我使用了这段代码,并且对我有用。 检查一下: