User Screenshot Detection
User screenshots can leak sensitive information from an application. For this reason, it’s important to try to avoid it if possible. Unfortunately, on iOS it’s not possible to block screenshots, the application can only detect that a screenshot was taken and possibly inform the user that it’s necessary to be careful with sensitive data.
Malwarelytics for Apple is able to detect that a screenshot was taken and notify the app about it.
Configuration
There’s no configuration for the feature.
Usage
After service creation, the user screenshot detection feature can be accessed via AppProtectionRasp
. This can be used to add a delegate.
Observing Detection
The user screenshot detection can trigger a certain action. To achieve that, a delegate needs to be added.
Delegate configuration:
class RaspDelegate: AppProtectionRaspDelegate {
// other delegate code
func userScreenshotDetected() {
// handle user screenshot detection
}
}
The delegate can be added in AppProtectionRasp
. When it is no longer needed, it can be removed again.
let raspDelegate = RaspDelegate()
appProtection.rasp.addDelegate(raspDelegate)
appProtection.rasp.removeDelegate(raspDelegate)
More information on general RASP feature configuration and usage can be found in this overview.