> Why would there be a simple way? I can think of a few reasons:
1. Using NSApplicationPresentationOptions, you can enforce the following programmatically: auto-hide the system dock, hide the system dock entirely, auto-hide the system menu bar, hide the system menu-bar entirely, completely disable the system Apple menu, disable process switching between apps, disable the ability to force-quit an app, disable app session termination, disable the ability to hide an application, disable menu bar transparency, present your app full screen, and auto-hide the toolbar. These are all clearly aimed at giving an app control of its presentation and environment. A very obvious reason an app would need to control its presentation is in order to control the content presented within. 2. NSWindow allows you to specify the level of access other processes have to the window's content. Aside from the fact that is seems a bit bizarre that there's the ability to grant no access (NSWindowSharingNone, which doc states should prevent the window's contents to be read by another process), and a screen shot still works, the mere presence of this configurable parameter acknowledges the potential need of an app to secure its displayed content. Therefore, it doesn't seem such a stretch to imagine that if a window's contents were secured, that screen shots would follow right along as something desired to be turned off. > Screenshots and screen movies are how many apps are easily and quickly > documented by honest consultants and IT help desks; a vital tool. As a > developer, I know everyone else has full access to my UI and I theirs... no > biggie. I get the sentiment, and I think it follows with most of discussions I've found elsewhere online about this that the general misperception about the need to turn off this ability stems from some draconian developer wanting unreasonable rigidity and control in an app like a game or something casual. I'm sure there are those folks out there who have such motivations. This is not one of them, and if interested in thinking this through, I would encourage a slight shift in perspective. Again, I am not at liberty to speak in detail about the specific use-case, but I can speak to the nature of the need. Ultimately, this is not an issue of needing to secure the app itself. The app is really just scaffolding if you will....a pipeline. The app is just a delivery mechanism -- but the content it is delivering needs to be secured. A few others have accurately mentioned an example which demonstrates this -- DRM -- for securing music, movies, books, etc. This is a great example, there's no particular need for iTunes to be secured (for the app itself), but the content it is delivering, that's another matter -- DRM has certain requirements, as do the copyright holding entities have contractual requirements for securing such. The specific use-case I am dealing with isn't a music or movie sharing app, and the specifics aren't really important anyway. But I'm sure everyone can draw a distinction between someone trying to prevent screen shots of their favorite first-person-shooter game, and trying to secure private research, government or military information, or confidential documents. My use-case is in the latter category -- and the target of screen-shot prevention isn't necessarily even the user or a user's nefarious intent -- it might be other agents on the machine, or it might be preventing an accidental or arbitrary screen shot which gets left on a machine or is accidentally sent to a printer. So in a nutshell, shift the perspective -- this isn't an enemy-of-the-user thing. It is a help and safeguard for both the content provider, and the content consumer (user). I hope that helps to paint the picture a little clearer. > In all seriousness though, you may want to approach Apple DTS directly and > present your business case to them. That is good advice. Thanks for the tip. Brad _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com