2016-06-21 12 views
0

Wenn ich eine CKRecord mit CKDatabase.saveRecord erstellen, wird keine CKSubscription Benachrichtigung ausgelöst, wenn dieser Datensatz von mir selbst eingefügt wird. Anscheinend erhalte ich nur Benachrichtigungen, wenn jemand anders einen Datensatz eingefügt hat, aber ich möchte einheitlich Benachrichtigungen erhalten, unabhängig davon, ob der Datensatz von mir oder jemand anderem erstellt wurde.CKSubscription funktioniert nicht, wenn der Datensatzbesitzer selbst ist

Auch ich fand keine Erwähnung über dieses Verhalten in den Dokumenten.

Ich habe seit Ewigkeiten versucht, Benachrichtigungen nach dem Erstellen des Datensatzes auf dem gleichen Gerät zu erhalten, aber es funktionierte schließlich nur, wenn ich einen künstlichen Datensatz im Dashboard erstellte.

Gibt es eine Flagge, um dieses Verhalten zu ändern?

+0

Nein, nur Abonnementbenachrichtigungen für Datensätze erstellt oder geändert Sie das Gerät erhalten. Wenn Sie einen Datensatz auf Ihrem Gerät einfügen/ändern, müssen Sie dies direkt behandeln. – Paulw11

+0

Ok, danke für die Bestätigung. Aber wo ist das dokumentiert? –

+1

Siehe den Abschnitt unter der Überschrift "Test-Abonnements" - https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/CloudKitQuickStart/Subscribe toRecordChanges/Subscribe toRecordChanges.html#/apple_ref/doc/uid/TP40014987- CH8-SW1 – Paulw11

Antwort

0

Sie erhalten nur Abonnementbenachrichtigungen für Datensätze, die vom Gerät erstellt, gelöscht oder geändert wurden. Wenn Sie einen Datensatz auf Ihrem Gerät einfügen/ändern/löschen, müssen Sie dies direkt behandeln.

Vom Cloud Kit Quick Start Führung (Hervorhebung hinzugefügt)

Test-Abonnements

Sie zunächst Abonnements testen können Ihre App über Xcode und mit Wolkenjunge Armaturenbrett, indem Sie zum Erstellen, Ändern oder Löschen von Datensätzen, wie unter Hinzufügen, Ändern und Löschen von Datensätzen beschrieben. Testen Sie Abonnements dann vollständig, indem Sie Ihre App auf mehreren Geräten ausführen. Verwenden Sie ein Gerät, um Änderungen vorzunehmen, und ein anderes Gerät, um die Abonnementbenachrichtigungen zu erhalten. Sie verwenden mehrere Geräte, da eine Benachrichtigung nicht auf dem gleichen Gerät, das die Benachrichtigung stammt gesendet wird