SQLite Datenbank/Core Data per iCloud synchronisieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • SQLite Datenbank/Core Data per iCloud synchronisieren

    Hi,
    ich habe lange gegooglet aber irgendwie stehe ich auf den Schlauch. Ich habe eine SQLite-Datenbank, diese soll je nachdem was der User eingestellt hast gesychnt oder nicht gesychnt werden. Ob es gesychnt wird oder nicht kann aber vom User immer geändert werden und genau da komme ich nicht weiter. Wenn ich das alles was im Internet steht richtig verstanden habe ist es nicht gleichzeitig möglich eine Datenbank lokal und online mit Daten zu füllen oder? Also ich habe jetzt die Datenbank "Daten.sqlite" die verwalte ich mit CoreData und die liegt im DocumentsDirectory. Wenn iCloud an ist, möchte ich eben trotzdem lokal speichern aber gleichzeitig sychncroniseren, wenn die iCloud auf aus ist einfach nur offline speichern. Geht das? Wie macht man sowas? Also ich habe dieses Tutorial durchgearbeitet aber da sieht es so aus, dass es irgendwie nicht geht: timroadley.com/2012/04/03/core-data-in-icloud/

    Viele Grüße
    Nils

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von AppleDeveloper ()

  • Mein Verständnis der iCloud-Implementierungen ist, dass eine App immer mit lokalen Daten arbeitet, entscheidend ist nur, ob diese im Hintergrund mit dem Cloud-Speicher synchronisiert werden oder nicht. Um dieses zu optimieren, gibt es dann Notifikationen über Änderungen, Konflikt-Management etc., aber aus Sicht der App ist alles lokal. Das macht ja auch Sinn, sonst wäre eine Offline-Nutzung nahezu ausgeschlossen.

    Allerdings ist das nur theoretisches Wissen, da ich mich seinerzeit aus bestimmten Gründen für Dropbox-Synchronisierung statt iCloud entschieden habe. Vielleicht kann mich jemand mit iCloud-Erfahrung korrigieren oder bestätigen...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Danke für deine Antwort! Das hört sich logisch an! Ich habe jetzt jedoch mal mit einen Beispielprojekt von den oben genannten Tutorial getestet und folgendes herausgefunden:
    Die Datenbank wird wenn iCloud aktiviert ist sowohl online als auch offline gespeichert. Wenn jetzt jedoch iCloud in den Einstellungen ausgeschalten wird oder in der App wird die Datenbank woanders gespeichert und ist somit wieder leer. Ist es nur bei diesen Tutorial so? Das kann doch nicht sein oder? Also wenn jetzt ein User iCloud aktiviert aber dann deaktiviert wieder aus irgendwelchen Gründen können doch nicht die ganzen Daten weg sein? Die lokale URL kann man sich aussuchen aber die iCloud URL wird irgendwie von Apple festlegt:

    Quellcode

    1. NSURL *iCloud = [fileManager URLForUbiquityContainerIdentifier:nil];


    Ich blick nicht mehr durch!! ?( ?( ?( ?( ?(
  • Wieder der o. g. Disclaimer ... eigentlich mag ich nicht über etwas schreiben, das ich nicht aus erster Hand kenne, aber dennoch: Wenn ich es recht verstanden habe, musst Du selber darauf achten, ob der Benutzer iCloud de- oder aktiviert. Im jeweiligen Fall musst Du dann den Store von der einen (ubique) zur anderen (lokalen) URL migrieren.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.