Запретить снимки экрана и запись экрана в ios ⇐ IOS
-
Anonymous
Запретить снимки экрана и запись экрана в ios
Я хотел запретить создание снимков экрана в своем приложении Flutter, но после стольких поисков и попыток изменить AppDelegate, почти перепробовал все пакеты, и ни один из них не сломался.
Я нашел лучший способ — изменить AppDelegate.swift. ~/ios/runner/AppDelegate.swift
импортировать UIKit импортировать флаттер @UIApplicationMain @objc класс AppDelegate: FlutterAppDelegate { переопределить приложение func( \_ приложение: UIApplication, DidFinishLaunchingWithOptions launchOptions: \[UIApplication.LaunchOptionsKey: Any\]? ) ->> Бул { self.window.secureApp() GeneratedPluginRegistrant.register(с: self) вернуть super.application(application, DidFinishLaunchingWithOptions: launchOptions) } } расширение UIWindow{ функция SecureApp(){ пусть поле = 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) } } это добавит защитный слой сверху
работало отлично
Я хотел запретить создание снимков экрана в своем приложении Flutter, но после стольких поисков и попыток изменить AppDelegate, почти перепробовал все пакеты, и ни один из них не сломался.
Я нашел лучший способ — изменить AppDelegate.swift. ~/ios/runner/AppDelegate.swift
импортировать UIKit импортировать флаттер @UIApplicationMain @objc класс AppDelegate: FlutterAppDelegate { переопределить приложение func( \_ приложение: UIApplication, DidFinishLaunchingWithOptions launchOptions: \[UIApplication.LaunchOptionsKey: Any\]? ) ->> Бул { self.window.secureApp() GeneratedPluginRegistrant.register(с: self) вернуть super.application(application, DidFinishLaunchingWithOptions: launchOptions) } } расширение UIWindow{ функция SecureApp(){ пусть поле = 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) } } это добавит защитный слой сверху
работало отлично
Мобильная версия