0

我需要在支持沙盒的可可应用程序中重新启动我的 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 应用程序并支持沙盒?

4

1 回答 1

1

看看App Sandbox Temporary Exception Entitlements

使用 App Sandbox,您无法将 Apple 事件发送到其他应用程序,除非您配置了 scripting-targets 权利或 apple-events 临时异常权利。

授权密钥

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

能力

  • 允许将 Apple 事件发送到一个或多个目标应用程序。
于 2013-06-21T11:10:58.457 回答