如何通过Mac App以编程方式关注Desktop/Finder?

Ped*_*ira 2 macos desktop cocoa finder objective-c

我想通过我的应用程序关注Desktop/Finder,特别是如果用户当前在全屏应用程序中.我一直在尝试使用以下内容:

[[NSWorkspace sharedWorkspace] launchApplication:@"Finder"];
Run Code Online (Sandbox Code Playgroud)

[[NSWorkspace sharedWorkspace] openFile:nil withApplication:@"Finder"];
Run Code Online (Sandbox Code Playgroud)

但是使用这些代码行,新的Finder窗口将打开"所有文件".
我只想关注桌面/取景器,我该怎么做?寻找App Store准备好的代码.
谢谢!

Dai*_*jan 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;
    }
}
Run Code Online (Sandbox Code Playgroud)