

I hope I can make it in time for macOS Sierra. Having to write my own screenshot utility seems more and more likely.

Which is also the reason you get an error when trying to submit an app with such an entitlement to iTunes Connect:
Screen shot mac os sierra update#
Update August 2nd, 2016Īs I stated above, -name isn’t documented anywhere. Bug Reportingįor anyone who’s interested or in a position to view it, here’s the bug report I’ve filed with Apple: rdar://27610157. However, if this is in fact the desired behavior, I will have to write my own screencapture utility so ScreenFloat can remain on the Mac App Store. It makes me believe (and hope) that the behavior we see for is not desired, so I’ve filed a bug report with Apple in the hopes that they can set the record straight soon.įor now, I hope ScreenFloat will be granted the temporary entitlement just so it is functional again on macOS Sierra for the time being. ( which will return the executable path to the given command line utility, for example, which screencapture would return /usr/sbin/screencapture). So I tried a different command line utility – which. To my surprise, it worked – without the entitlement. interactive, not just generally, I tried creating a non-interactive screencapture session with NSTask. Seeing as the sandbox denial points explicitly to.

But going through the list, it’s clear that … mach-register.global-name is nowhere to be found, so it’s kind of a private entitlement – which makes it even less likely for it to be granted to your app. They may or may not be granted to your app during Apple’s review process. So I’m all set, right? Well… Temporary Exception EntitlementsĪpple offers a couple of temporary exception entitlements. On a hunch, I tried using … mach-register.global-name instead of …mach-lookup.global-name and – tada – it worked! I tried adding it to ScreenFloat’s entitlements file, with as its value (this temporary entitlement expects an array of string values), but that didn’t help – the same denial and console output occurred. In the back of my mind, I remembered a temporary exception entitlement, but it wasn’t quite the same – -name. So registering a global Mach service is denied on macOS Sierra. The output in Console.app when trying to launch an interactive screencapture with NSTask. Since I was absolutely sure I’m not launching screencapture via NSTasktwice, I took to Console.app to see if anything unusual was reported there. Screencapture: cannot run two interactive screen captures at a time Now, on macOS Sierra, I’ve been getting reports that screenshot creation didn’t work anymore, so I investigated.Īt first I thought it might be the keyboard shortcut API that has undergone some changes, but that doesn’t seem to be the case, as I saw something actually occurred when I pressed the keyboard shortcut – Xcode’s console printed: On OS X El Capitan and earlier versions of Apple’s operating system, this worked perfectly fine. In my app ScreenFloat, I use the command line tool screencapture via NSTask to create screenshots.
