Флаттер : Как отключить скриншот на устройствах iOS или просто обнаружить действие скриншота

#ios #flutter #screenshot

Вопрос:

Моя проблема в том, что в настоящее время я застрял, и я не могу заблокировать скриншоты на устройствах iOS в своем приложении flutter, даже если я использую это решение :

https://pub.dev/packages/screenshot_callback этот пакет устарел, и я не могу им пользоваться.

 The plugin `screenshot_callback` uses a deprecated version of the Android embedding.
To avoid unexpected runtime failures, or future build failures, try to see if this plugin supports the Android V2 embedding. Otherwise, consider removing it since a future release of Flutter will remove these deprecated APIs.
If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.
 

и даже добавление swift-кода не работает :

 import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {

  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
  
  // <Add>
  override func applicationWillResignActive(
    _ application: UIApplication
  ) {
    self.window.isHidden = true;
  }
  override func applicationDidBecomeActive(
    _ application: UIApplication
  ) {
    self.window.isHidden = false;
  }
  

}
 

Пожалуйста, дайте мне знать, если у вас есть какие-либо решения, чтобы исправить это 🙂

Комментарии:

1. Вы не можете блокировать скриншоты на iOS. Вы можете прослушивать UIApplicationUserDidTakeScreenshot уведомления, что и делает этот плагин.

2. Почему этот вопрос об iOS помечен как [android]?