首页 > 解决方案 > NSWorkSpace' showSearchResultsForQueryString: 在 10.14 中不起作用

问题描述

最简单的代码在 Mac OS X 10.14 中不起作用。XCode 10.2.1 (10E1001)。

应用程序没有沙盒。主窗口只有一个按钮。单击按钮时,将调用以下方法:

    - (IBAction)clicked:(id)sender
{
    NSString *stringToSearch = @"iWorks";
    NSLog(@"Button clicked -- %@", stringToSearch);

    BOOL opened = [[NSWorkspace sharedWorkspace] showSearchResultsForQueryString:stringToSearch];
    NSLog(@"opened = %hhd", opened);

}

回来 :

2019-05-20 14:18:50.575867+0300 111[3224:448389] Button clicked -- iWorks
2019-05-20 14:18:50.576879+0300 111[3224:448389] opened = 1

但是没有打开 Finder 窗口。可能我错过了一些明显的东西吗?

标签: macoscocoafinderspotlightnsworkspace

解决方案


我只需要添加到 info.plist

<key>NSAppleEventsUsageDescription</key>
<string>Please provide access
    to AppleEvents to ontrol Finder application</string>

推荐阅读