Как запретить пользователю делать снимки экрана или запись экрана в iOS 17? ⇐ IOS
-
Гость
Как запретить пользователю делать снимки экрана или запись экрана в iOS 17?
У меня есть приложение flutter, в котором я хочу запретить пользователям делать снимки экрана и записи экрана. У меня есть следующий код, который отлично работает для версии ios ниже 17, но не для ios 17
AppDelegate
переопределить приложение func( _ приложение: UIApplication, DidFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Бул { setUpBlurEffectView() NotificationCenter.default.addObserver(self, селектор: #selector(toggleScreenBlurForCapture), имя: UIScreen.capturedDidChangeNotification, объект: ноль) окно?.makeSecure() вернуть super.application(application, DidFinishLaunchingWithOptions: launchOptions) } функция setUpBlurEffectView() { пусть BlurEffect = UIBlurEffect (стиль: .regular) BluEffectView = UIVisualEffectView (эффект: BlurEffect) BlurEffectView?.frame = окно?.bounds ?? UIScreen.main.bounds BluEffectView?.isHidden = true окно?.addSubview(blurEffectView!) } @objc func toggleScreenBlurForCapture() { пусть isCaptured = UIScreen.main.isCaptured BlurEffectView?.isHidden = !isCaptured } расширение UIWindow { функция makeSecure() { пусть поле = UITextField() поле.isSecureTextEntry = правда self.addSubview(поле) field.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true field.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true self.layer.superlayer?.addSublayer(field.layer) field.layer.sublayers?.first?.addSublayer(self.layer) } } Что я здесь делаю не так? Что-то изменилось в ios 17? Любая подсказка или помощь будут оценены по достоинству.
У меня есть приложение flutter, в котором я хочу запретить пользователям делать снимки экрана и записи экрана. У меня есть следующий код, который отлично работает для версии ios ниже 17, но не для ios 17
AppDelegate
переопределить приложение func( _ приложение: UIApplication, DidFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Бул { setUpBlurEffectView() NotificationCenter.default.addObserver(self, селектор: #selector(toggleScreenBlurForCapture), имя: UIScreen.capturedDidChangeNotification, объект: ноль) окно?.makeSecure() вернуть super.application(application, DidFinishLaunchingWithOptions: launchOptions) } функция setUpBlurEffectView() { пусть BlurEffect = UIBlurEffect (стиль: .regular) BluEffectView = UIVisualEffectView (эффект: BlurEffect) BlurEffectView?.frame = окно?.bounds ?? UIScreen.main.bounds BluEffectView?.isHidden = true окно?.addSubview(blurEffectView!) } @objc func toggleScreenBlurForCapture() { пусть isCaptured = UIScreen.main.isCaptured BlurEffectView?.isHidden = !isCaptured } расширение UIWindow { функция makeSecure() { пусть поле = UITextField() поле.isSecureTextEntry = правда self.addSubview(поле) field.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true field.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true self.layer.superlayer?.addSublayer(field.layer) field.layer.sublayers?.first?.addSublayer(self.layer) } } Что я здесь делаю не так? Что-то изменилось в ios 17? Любая подсказка или помощь будут оценены по достоинству.
Мобильная версия