スクリーンショットや画面録画がされたことを通知するには,そのViewController
の中で
override func viewWillAppear(_ animated: Bool) {
NotificationCenter.default.addObserver(self,
selector: #selector(didTakeScreenshot), name: UIApplication.userDidTakeScreenshotNotification, object: nil)
NotificationCenter.default.addObserver(
self,
selector: #selector(didCapturedScreen),
name: UIScreen.capturedDidChangeNotification,
object: nil
)
}
ViewDidLoad()
でも構いません。
didTakeScreenshot
やdidCapturedScreen
自分で決める関数であるので、例えば以下のようにします。
@objc func didTakeScreenshot() {
print("スクリーンショット")
}
必要に応じて通知を削除します。
override func viewWillDisappear(_ animated: Bool) {
super.viewWillAppear(animated)
NotificationCenter.default.removeObserver(self,name: UIApplication.userDidTakeScreenshotNotification, object: nil)
NotificationCenter.default.removeObserver(self, name: UIScreen.capturedDidChangeNotification, object: nil)
}