Frage

Ich habe mich gefragt, ob es möglich war, iCloud zu verwenden, um die Einstellungsdatei einer App zwischen Geräten zu synchronisieren. Die Präferenzdatei, über die ich spreche, ist die von NsuserDaarts erstellte Datei com.domain.appname.plist, um die Einstellungen der App zu speichern.

Ich möchte die Möglichkeit haben, die Einstellungsdatei meiner App zwischen zwei verschiedenen Geräten (z. B. einem iPhone) synchronisiert zu halten. Ist dies eine akzeptable Verwendung der iCloud -Synchronisierung? Oder müsste ich die Plist -Datei in einen anderen Dokumenttyp konvertieren, sie in der Cloud speichern und beim Abrufen der App in die Datei der App -Präferenzen umwandeln?

Danke!

War es hilfreich?

Lösung

Es gibt eine Bibliothek, um dies mit einer Codezeile zu tun

https://github.com/mugunthkumar/mkicloudsync

Andere Tipps

Ähnlich zu Mkicloudsync, Ich habe auch eine Bibliothek auf Github aufgerufen SdcloudDefaults. Anstatt automatisch zu synchronisieren, gibt es ein neues Objekt, das Sie anstelle von verwenden NSUserDefaults das spart sowohl icloud als auch vor NSUserDefaults. Dies bedeutet, dass Sie entscheiden können, welche Elemente lokal gespeichert sind und welche in der Wolke gespeichert sind.

(Ich habe Mkicloudsync gefunden, nachdem ich es implementiert hatte. Ich denke, es ist klug, aber ich möchte nicht alles mit iCloud synchronisieren, damit meine Lösung immer noch besser für mich funktioniert.)

Es ist möglich, Einstellungen zwischen Geräten mit iCloud zu synchronisieren. Ich würde jedoch empfehlen, die Plist -Datei zwischen Geräten zu teilen.

Das NsubiquitousKeyValuEstore sollte für das geeignet sein, was Sie versuchen zu tun. Es ist NsuserDefaults sehr ähnlich, daher sollte es einfach sein, abzuholen.

Um es zu verwenden, aktivieren Sie einfach den Anspruch der com.apple.developer.ubiquity-kvstore-Identifikator in Ihrer Berechtigungsdatei und duplizieren Sie einfach die Einstellungen, die Sie im allgegenwärtigen Key Value Store synchronisieren möchten. Sobald es im allgegenwärtigen Kvstore ist, können Sie es aus der Anwendung auf anderen Geräten sehen. Sie können sogar zwischen verschiedenen Anwendungen synchronisieren, solange sie dieselbe Kennung verwenden.

Sie sollten sich auch für die Benachrichtigung über die NsubiquitousKeyValuESTORDIDCHANGEExternyNnotification registrieren, um nach neuen Änderungen zu achten und die StandardUserDefaults auf dem Gerät entsprechend zu aktualisieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top