使用Scripting Bridge沙箱化我的应用程序以发送电子邮件

And*_*ang 5 cocoa sandbox objective-c

我正在使用脚本桥从我的Mac App发送邮件.现在我需要沙盒应用程序,并且启用沙盒时发送邮件不再有效.

有人知道如何解决这个问题吗?

谢谢,安德烈亚斯

代码:`

/* 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];
...
Run Code Online (Sandbox Code Playgroud)

`

Fab*_*ser 4

您无法在启用沙盒的情况下使用 ScriptingBridge。请提交错误报告。如果沙盒对您来说是个问题并且没有其他解决方案,这就是 Apple 的建议。他们可能会为 ScriptingBridge 添加权利(不仅仅是临时例外),但截至目前还没有进一步的信息。

Entitlements Keys,特别是com.apple.security.temporary-exception.apple-events密钥,您可以添加到您的 Entitlements.plist 文件中,但 Apple Events 的密钥是暂时的例外
不幸的是,即使设置了正确的权利,我也无法让 ScriptingBridge 工作。我希望你比我幸运。

Apple 将要求从11 月 1 日开始对所有提交到 Mac App Store 的应用程序进行沙盒处理!

com.apple.security.temporary-exception.apple-events