NSMetadataQuery无法正常工作

时间:2014-03-16 23:21:51

标签: ios icloud nsmetadataquery

我正在尝试在我的应用中使用iCloud。在模拟器中,我注意到启动后需要很短的时间才能将iCloud中的新文件添加到ubiquity容器中。因此,为了刷新我的UI以反映这些更改,我设置了一个NSMetadataQuery,如下所示:

_query = [[NSMetadataQuery alloc] init];
_query.searchScopes = @[ubiquityContainer];
_query.predicate = [NSPredicate predicateWithFormat:@"%K == '*'", NSMetadataItemFSNameKey];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshFiles) name:NSMetadataQueryDidUpdateNotification object:nil];
[_query startQuery];

refreshFiles永远不会被称为......

我的应用将文件直接保存在ubiquityContainerNSURL)中 - 它不会创建任何子目录......

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我发现了问题所在!我需要使用NSMetadataQueryUbiquitousDataScope作为搜索范围。这解决了问题!