所以我刚刚将沙盒添加到我的一款产品中。它功能齐全,只是工作流程的最后一步是设置桌面。它通过 NSWorkspace 来完成此操作。当我打电话时
[[NSWorkspace sharedWorkspace] setDesktopImageURL:[NSURL fileURLWithPath:imagePath]
forScreen:screen
options:nil
error:&error];
我收到以下错误:
*** attempt to post distributed notification 'com.apple.desktop' thwarted by sandboxing.
是的,所以我需要一个临时异常,如下所示:
<key>com.apple.security.temporary-exception.apple-events</key>
<array>
<string>XXXXX</string>
</array>
所以最终我需要弄清楚 XXXXX 中发生了什么,对吗?什么处理桌面设置?更一般地说,是否有一种简单的方法来确定消息的目标包?
最佳答案
我遇到了同样的问题,但我找到了不同的解决方法。通过启用“允许日历数据访问”权限,可以通过 NSWorkspace 设置新壁纸。
我知道这是一个非常奇怪的解决方法,我不知道它是否是面向 future 的(Apple 可能会在未来版本中阻止它)。在撰写本文时它有效,我认为值得与下一个遇到此问题的人分享。
关于objective-c - 确定 Cocoa 中沙箱消息的目的地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6971151/