我正在尝试在我的应用中使用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
永远不会被称为......
我的应用将文件直接保存在ubiquityContainer
(NSURL
)中 - 它不会创建任何子目录......
我做错了什么?
答案 0 :(得分:0)
我发现了问题所在!我需要使用NSMetadataQueryUbiquitousDataScope
作为搜索范围。这解决了问题!