com.apple.security.temporary-exception.scripting-targetsis an entitlement, which means it doesn’t go into your
Info.plistbut rather into your code signing entitlements.
However, this won’t fix your problem because entitlements apply on a process-by-process basis. Screen savers use the old school bundle-based plug-in mechanism, which means that they are loaded within a system process. Thus, the entitlements applied to your screen saver are irrelevant. What matters is the entitlements of the host process and, as that’s a system process, you can’t change that.
Short term you may be able to get around this using an IPC mechanism to communicate to another process (a launchd agent, perhaps) that can have its own entitlements, and thus can use Apple events.
Long term the best solution to this problem would be for screen saver to supports the app extension plug-in model, where your code runs in a separate process and thus can have its own entitlements. I encourage you to file an enhancement request for that, making sure to describe your specific requirements.
Please post your bug number, just for the record.
Share and Enjoy
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"
Yes, I was hoping there was some way I hadn't found to add entitlements to a screensaver. I guess I'll have to do without and let my screensaver be lame for now. *****.
I've submitted radar://48099639
Along with requesting app extension plugins for screensavers, I also suggested extenting NSDistributedNotificationCenter to be a "requester observer" using a new method -(void) addRequesterObserver:(id)obj name:(NSString*)name;, so iTunes would listen for requests to post its @"com.apple.iTunes.playerInfo" notification. An observer of that notification would request it, iTunes would get the request, which in turn out post the notification, so my screensaver would then get the notification without having to wait for iTunes to start playing the next track. Roundabout? Yes, but still a lot more straightforward than monkeying with entitlements and a wrapper app for the plugin.
But, being able to distribute screensavers in a wrapper app would then finally let us sell them on the App Store. I'm sure that would make tons of developers happy.
Now if they'd just fix this forum code so it doesn't totally distroy all our typing when we hit Undo and then never put it back with Redo. Yep, I had to retype about 80% of this.
Restore of previous typing is timer based.
If you type something, and the timer runs long enough to cache it, then leave without saving, then reply again, you should see a button to restore what you typed before. Success all depends on your pace.
I don't believe I used that feature. I did:
1. type type type
2. went to Xcode and grabbed some text
3. came back and paste
4. noticed the text was white, so it was not visible in the field
6. text from the paste clear back to a very early time in step 1 went away
7. command-shift-z did nothing
If Undo is going to be supported in a field in Safari, Redo had better work as expected. It did not here.
When you see white instead of what you typed, use 'paste and match style'.
Keep in mind the forums are from JIVE Software and I believe they primarily target Windows and Linux environments.
When pasting code, try to use the <> brackets in the editor.
//this is an example of code in a forum post <key>com.apple.security.temporary-exception.scripting-targets</key> <dict> <key>com.apple.iTunes</key> <array> <string>com.apple.iTunes.playback</string> </array> </dict> </plist>
Yes, I used Paste and Match Style after the damage had already been done.