Я попытался определить, включен ли снимок экрана для приложения для 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
}
}
}
Сценарий использования:
- Запустите приложение
- Запустите устройство записи экрана с помощью опции записи с экрана Apple
- Обнаружено устройство записи экрана
- Завершите работуapp
- Повторите шаги 1 и 2
- Запись экрана не обнаружена, API
UIScreen.mainScreen.isCaptured
возвращает NO
Пожалуйста, предложите