我试图在C ++ \ Qt项目中使用NSMetadataQuery,我让它编译并运行但我只得到了NSMetadataQueryDidStartGatheringNotification。
我已经看到很多关于这个问题的问题,但没有一个对我有用。
该项目(目前)有3个文件:
main.cpp
AppController.h
AppController.m
这里是相关代码的片段: http://pastebin.com/g4cKYPkm
我写了两次,这个版本是来自苹果示例的复制粘贴" spotlighter"减去GUI所需的代码(我的项目是一个控制台项目),两次都得到了相同的结果。
许多答案都说我需要在mainThread中运行startQuery,我只有一个线程,我使用[NSThread isMainThread]来查看我是否真的在mainThread上运行。
我在调用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尝试了相同的代码,但没有运气:(