NSMetaDataQuery ruft nie mit NSMetadataQueryDidFinishGatheringNotification zurück

Für ein iCloud-Plugin, das ich schreibe, abonniere ich meine iCloud-Manager-Klasse für diese iCloud NSMetaDataQuery-Beobachter:

// 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];

Das Problem ist, dass keiner dieser Selektoren tatsächlich jemals zurückgerufen wird, nicht einmal, und ich brauche besonders denNSMetaDataQueryDidUpdateNotification zum Verfolgen des Upload- / Download-Fortschritts von Dateien in der Cloud.

Eine seltsame Sache ist, dass ich das neulich hatte arbeiten, aber irgendwie hat es einfach aufgehört zu arbeiten und ich habe mich blind bei dem Versuch, herauszufinden, was das Problem tatsächlich ist. Durch das Abonnieren derNSMetadataQueryDidStartGatheringNotification Ich kann sehen, dass es beginnt, aber es ist, als würde es niemals enden. Es ist ziemlich komisch.

Ich habe mich gefragt, ob jemand überhaupt eine Ahnung hat, was mit dem obigen Code zu tun hat. Oder wo sonst kann ich das Problem suchen.

Vielen Dank für Ihre Zeit :)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage