Yup, it's impossible to prevent or delete screenshots before they're taken (and you could also do something like take a photo of the device with another camera, if you really wanted). Screenshots are always saved to the Camera Roll on iOS, though, and they can't be taken with or redirected to another location immediately.
Apps like Snapchat and Poke use a detection mechanism just for a better UX, to alert other users after a screenshot happens.
I'm not sure it's impossible, but it would take a great amount of timing and probably some luck. If you can detect a screenshot and throw up a new view quick enough, that's what the screenshot would be. But, I haven't tested that theory, and the timing is probably way too tight to actually work. It'd be more like how Netflix throws up the red screen as soon as it leaves foreground, or the WiFi list in Settings disappears.
Comments
I'm not an iOS user, but what is to stop the user from taking a screenshot and storing it somewhere else? Or posting it to a remote server?
Since the image on the screen is in video memory on the device, surely it is impossible to prevent screenshots from being taken?
Yup, it's impossible to prevent or delete screenshots before they're taken (and you could also do something like take a photo of the device with another camera, if you really wanted). Screenshots are always saved to the Camera Roll on iOS, though, and they can't be taken with or redirected to another location immediately.
Apps like Snapchat and Poke use a detection mechanism just for a better UX, to alert other users after a screenshot happens.
I'm not sure it's impossible, but it would take a great amount of timing and probably some luck. If you can detect a screenshot and throw up a new view quick enough, that's what the screenshot would be. But, I haven't tested that theory, and the timing is probably way too tight to actually work. It'd be more like how Netflix throws up the red screen as soon as it leaves foreground, or the WiFi list in Settings disappears.