C++ Spotlight API(NSMetadataQuery)未返回结果

C++ Spotlight API(NSMetadataQuery)未返回结果,c++,objective-c,qt,spotlight,nsmetadataquery,C++,Objective C,Qt,Spotlight,Nsmetadataquery,我正在尝试在C++\Qt项目中使用NSMetadataQuery,我已将其编译并运行,但我只收到NSMetadataQueryIDStartGatheringNotification 我见过很多关于这个问题的问题,但没有一个对我有用 该项目(目前)有3个文件: 以下是相关代码的剪报: 我写了两次,这个版本是苹果示例“spotlighter”的复制粘贴,减去GUI所需的代码(我的项目是一个控制台项目),两次我都得到了相同的结果 很多答案都说我需要在主线程中运行startQuery,我只有一个线程

我正在尝试在C++\Qt项目中使用NSMetadataQuery,我已将其编译并运行,但我只收到NSMetadataQueryIDStartGatheringNotification

我见过很多关于这个问题的问题,但没有一个对我有用

该项目(目前)有3个文件:

以下是相关代码的剪报:

我写了两次,这个版本是苹果示例“spotlighter”的复制粘贴,减去GUI所需的代码(我的项目是一个控制台项目),两次我都得到了相同的结果

很多答案都说我需要在主线程中运行startQuery,我只有一个线程,我使用[NSThread isMainThread]查看我是否在主线程上运行

我在调用startQuery之后添加了一个循环

//Psuedo code
while query.isGathering == YES {
    print query.isStarted
    print query.isGathering
    print query.isStopped
    print query.operationQueue.operationCount
    print query.resultCount
    wait 10sec
}
我发现查询开始了,正在收集,没有停止,结果和队列大小都是0

知道我做错了什么吗?你知道如何进一步分析这个问题吗?多谢各位


编辑:我与Qt Creator合作,我用XCode尝试了相同的代码,但没有成功:(

你是个英雄……不幸的是,我几年前换了工作,无法测试它是否真的有效。不过,非常感谢你努力改善社区。
//Psuedo code
while query.isGathering == YES {
    print query.isStarted
    print query.isGathering
    print query.isStopped
    print query.operationQueue.operationCount
    print query.resultCount
    wait 10sec
}