I'm using a scripting bridge for sending mails from my Mac App. Now I need to sandbox the app and sending mails is not longer working while sandboxing is enabled.
Does anybody know how to fix that?
Thanks, Andreas
Code: `
/* create a Scripting Bridge object for talking to the Mail application */
MailApplication *mail = [SBApplication applicationWithBundleIdentifier:@"com.apple.Mail"];
/* create a new outgoing message object */
MailOutgoingMessage *emailMessage =
[[[mail classForScriptingClass:@"outgoing message"] alloc]
initWithProperties:
[NSDictionary dictionaryWithObjectsAndKeys:
[self.subjectField stringValue], @"subject",
[[self.messageContent textStorage] string], @"content",
nil]];
/* add the object to the mail app */
[[mail outgoingMessages] addObject: emailMessage];
...
`
You can't use the ScriptingBridge with Sandboxing enabled. Please file a bug report. This is what Apple recommends, if Sandboxing is a problem for you and there are no other solutions. They might add entitlements (not just temporary exceptions ) for the ScriptingBridge, but as of now there is no further information available.
There are Entitlements Keys , especially the com.apple.security.temporary-exception.apple-events
key, you can add to your Entitlements.plist file, but the key for Apple Events is a temporary exception .
Unfortunately, I was unable to get ScriptingBridge working even with the correct entitlements set. I hope you're luckier than me.
Apple is going to require Sandboxing for all apps submitted to the Mac App Store starting on the 1st of November !
com.apple.security.temporary-exception.apple-events
Add this code to your Entitlements.plist, I tested It's ok.I can get selected mail from Mail now.
<key>com.apple.security.temporary-exception.apple-events</key>
<array>
<string>com.apple.mail</string>
</array>
I have modified Apple's SBSendEmail sample application to be Sandboxed and can successfully compose an e-mail. It appears that it is not possible to send the e-mail, but at least you could set everything up for the user just to press send.
of mac os x 10.8 and later, it has changed:
<key>com.apple.security.scripting-targets</key>
<dict>
<key>com.apple.mail</key>
<array>
<string>com.apple.mail.compose</string>
</array>
</dict>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.