如何在可可中重新启动Finder应用程序?

时间:2013-06-20 09:59:27

标签: macos cocoa finder

我需要在我的cocoa应用程序中重新启动我的finder应用程序并支持沙箱。我试过了

尝试1:

[[NSTask launchedTaskWithLaunchPath:@"/usr/bin/killall"
                              arguments:[NSArray arrayWithObjects:@"Finder", nil]] waitUntilExit];

沙箱不支持。它显示 killall: warning: kill -TERM 7833: Operation not permitted 错误。

尝试2:

NSDictionary *error = [NSDictionary dictionary];
    NSAppleScript *script = [[NSAppleScript alloc] initWithSource:@"tell application \"System Events\" to restart"];
    [script executeAndReturnError:&error];

沙盒中也不允许使用它。

有没有在我的应用程序中重新启动Finder应用程序并支持沙箱?

1 个答案:

答案 0 :(得分:1)

看看App Sandbox Temporary Exception Entitlements

  

使用App Sandbox,您无法将Apple活动发送到其他应用,除非您   配置脚本目标权利或临时苹果事件   例外权利。

授权密钥

  • com.apple.security.temporary-exception.apple事件

<强>能力

  • 允许将Apple事件发送到一个或多个目标应用。