Как ограничить запись экрана на устройствах iOS во Flutter? - PullRequest
0 голосов
/ 27 февраля 2020

Я разрабатываю приложение во Flutter, которое мне нужно, чтобы ограничить запись экрана на устройствах iOS. Сейчас я проверил наличие флага UIScreen.main.isCaptured в AppDelegate и часто проверял его, используя таймер в моем файле дротика.

Есть ли лучший способ сделать это, используя capturedDidChangeNotification from яблоко, чтобы мне не нужно было запускать таймер, а файл dart получать уведомления при изменении состояния записи экрана?

1 Ответ

2 голосов
/ 27 февраля 2020

Вы добавляете capturedDidChangeNotification наблюдатель в NotificationCenter и pu sh результат в FlutterEventChannel. Затем на стороне Dart вы устанавливаете EventChannel , который имеет метод receiveBroadcastStream, который возвращает поток, который вы можете прослушивать. Чтобы обрабатывать закрывающие потоки как на iOS части, так и на флаттере.

Вы можете ознакомиться с этим официальным примером с прослушиванием зарядки аккумулятора, который почти одинаков (NotificationCenter + Streams):

https://github.com/flutter/flutter/blob/master/examples/platform_channel_swift/ios/Runner/AppDelegate.swift https://github.com/flutter/flutter/blob/master/examples/platform_channel_swift/lib/main.dart

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...