NSMetaDataQuery nunca chama de volta com NSMetadataQueryDidFinishGatheringNotification
Para um plug-in do iCloud que estou escrevendo, eu assino minha classe do gerenciador do iCloud para esses observadores do iCloud NSMetaDataQuery:
// Add a predicate for finding the documents
NSString* filePattern = [NSString stringWithFormat:@"*.%@", @"*"];
self.metadataQuery = [[NSMetadataQuery alloc] init];
// Before starting to query, it is required to set the search scope.
arrayWithObject:NSMetadataQueryUbiquitousDocumentsScope]];
// It is also required to set a search predicate.
[self.metadataQuery setPredicate:[NSPredicate predicateWithFormat:@"%K LIKE %@", NSMetadataItemFSNameKey, filePattern]];
// Listen for the second phase live-updating
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(queryDidReceiveNotification:) name:NSMetadataQueryDidUpdateNotification object:nil];
// Listen for the first phase gathering
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(queryIsDoneGathering:) name:NSMetadataQueryDidFinishGatheringNotification
object:nil];
[self.metadataQuery startQuery];
O problema é que nenhum desses seletores é chamado de volta, nem mesmo uma vez, e eu particularmente precisoNSMetaDataQueryDidUpdateNotification para acompanhar o progresso de upload / download de arquivos na nuvem.
Uma coisa estranha é que eu tive esse trabalho no outro dia, mas de alguma forma ele simplesmente parou de funcionar e eu fiquei cego tentando descobrir qual é o problema. Subscrevendo aoNSMetadataQueryDidStartGatheringNotification Eu posso ver que isso começa, mas é como se nunca terminasse. É muito estranho.
Eu queria saber se alguém tem alguma idéia de como estar errado com o código acima? Ou onde mais posso procurar o problema.
Obrigado pelo seu tempo :)