我希望通过我的应用程序关注Desktop / Finder,特别是如果用户当前位于全屏应用程序中。 我一直在尝试使用像:
这样的东西[[NSWorkspace sharedWorkspace] launchApplication:@"Finder"];
和
[[NSWorkspace sharedWorkspace] openFile:nil withApplication:@"Finder"];
但是使用这些代码行,新的Finder窗口将打开“所有文件”。
我只想关注桌面/取景器,我该怎么做?寻找App Store准备好的代码。
谢谢!
答案 0 :(得分:10)
你可以使用cocoa的NSWorkspace来做 - 不需要特殊的权利
NSArray *apps = [[NSWorkspace sharedWorkspace] runningApplications];
for (NSRunningApplication *app in apps) {
if([app.bundleIdentifier.lowercaseString isEqualToString:@"com.apple.finder"]) {
[app activateWithOptions:NSApplicationActivateAllWindows|NSApplicationActivateIgnoringOtherApps];
break;
}
}
答案 1 :(得分:2)
这可以使用applescript完成,经过一些研究和一些权利条目后,应该可以与mac商店应用程序一起使用。
这是一个可以做你想做的AppleScript脚本:
tell application "Finder" to activate
权利条目:
<key>com.apple.security.temporary-exception.apple-events</key>
<array>
<string>com.apple.finder</string>
</array>
我知道这不是一个完整的答案 - 我不是一个mac专家。我只是想试着指出你正确的方向来解决你的问题。
答案 2 :(得分:0)
使用NSRunningApplication.runningApplications
NSRunningApplication.runningApplications(withBundleIdentifier: "com.apple.finder").first?.activate(options: [])