As an iOS developer enthusiast, ScreenShield’s recent news is bewitching me. John Gruber:
My best guess as to how they’re doing this is that they’re using AVPlayer and somehow using FairPlay Streaming to block screenshots and recording.
@gruber interesting on the FairPlay streaming idea, but I don’t think that’s it.
I was able to use my iPad, I had DIRECTVNOW minimized to a picture-in-picture window and launched Confide. If Confide was using Fairplay, my DIRECTVNOW PIP should stop playing but it didn’t.
Dave Anderson offers an alternative explanation.
As the Confide team has stated, “There’s a lot of technology under the hood that makes ScreenShield possible.” Maybe it’s all of the above?
The fascinating thing is this. Apple’s created this scarcity, and it could remove it at will if it pleased. Apple could sherlock ScreenShield if it wished to. A technology that is very difficult as a 3rd party developer but significantly easier when you’re in control of the operating system is a dangerous thing upon which to build a business.1 All it would have to do is add a
UIApplicationUserWillTakeScreenshot method to
UIApplication. It would just require an earlier listener emission compared to the current UIApplicationUserDidTakeScreenshot. If the aforementioned method existed, iOS developers would have to do a bit more work than using the dropdead simple SDK that ScreenShieldKit offers, but it would be a hundred times easier than reinventing ScreenShieldKit, and developers could open-source a solution that offered a similar SDK as ScreenShieldKit’s.2 It would no longer be patentable.
And then of course there’s the devil’s advocate view that this ability is going to create user-hostile apps and that maybe Apple should not allow this at all. The libertarian in me doesn’t care about that. If software developers don’t want you to be able to take screenshots of their application, and they know how to keep you from doing it, then more power to them.