You cannot prevent users from taking screenshots on iOS. However, since your concerns are security related, one thing you might want to consider is preventing the OS from displaying a screenshot of your app in the recently used apps list when users have the app minimised, which can be done. To do so (using Xamarin), you need to override OnResignActivation
and OnActivated
in your AppDelegate
:
// Hide app state in recently used apps list
public override void OnResignActivation(UIApplication application)
{
var view = new UIView(Window.Frame)
{
Tag = new nint(101),
BackgroundColor = UIColor.White
}
Window.AddSubview(view);
Window.BringSubviewToFront(view);
}
// Remove window hiding app content when app is resumed
public override void OnActivated(UIApplication application)
{
var view = Window.ViewWithTag(new nint(101));
view?.RemoveFromSuperview();
}
I realise this doesn't answer your question, but it may be as much as can be done.