3 Stimmen

NSUbiquitousKeyValueStoreDidChangeExternallyNotification wird manchmal nicht aufgerufen

Ich habe Code für den iCloud-Schlüsselwertspeicher geschrieben

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyValueStoreChanged:)
                                                 name:NSUbiquitousKeyValueStoreDidChangeExternallyNotification
                                               object:nil];
    LOG(@"sync");
    [[NSUbiquitousKeyValueStore defaultStore] synchronize];

Wenn ich die App lösche und neu installiere, wird die Observer-Methode normalerweise aufgerufen, manchmal aber auch nicht.

Warum? Nur das Netzwerkproblem?

4voto

Jellyjoey Punkte 188

Ich hatte ein ähnliches Problem, bei dem die NSUbiquitousKeyValueStoreDidChangeExternallyNotification beim ersten Start nach der Installation nicht ausgelöst wurde, egal wie lange ich wartete. Das Festlegen eines Anfangsschlüssels im NSUBiquitousKeyValueStore schien dies zu lösen.

Unmittelbar nachdem ich den Beobachter zum Standardspeicher hinzugefügt habe, rufe ich ihn auf:

[[NSUbiquitousKeyValueStore defaultStore] setString:@"testValue" forKey:@"testKey"];
[[NSUbiquitousKeyValueStore defaultStore] synchronize];

Ich verwende verschiedene Schlüssel (d. h. nicht testKey ) für die eigentlichen Daten, die ich synchronisieren möchte.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X