2012-09-20 7 views
6

Ich bin universelle App bauen.In meiner App benutze ich sq-lite-Datenbank.Ich möchte meine lokalen Daten mit iCloud synchronisieren, damit jeder andere Benutzer, der App in iPhone installieren, synchronisieren kann Daten an sein Telefon/Ipad.iCloud Sync mit App mit sqlite Datenbank - IOS

Ich habe im Zusammenhang mit dieser Suche an vielen Orten, wo ich fand, dass iCloud Sync mit Code-Daten, aber ich benutze sq-lite.

Ist ihre Art, diese Aktion auszuführen.

Vielen Dank im Voraus.

+1

Kann mir bitte jemand dabei helfen.Ich habe Probleme bei der Implementierung.Als mein gesamtes Projekt verwendet sq-lite und am Ende kann ich meine Datenbank nicht zu Coredata verschieben. –

+0

müssen Sie manuell ein Synchronisierungsschema/-protokoll erstellen. iCloud verhält sich hier wie ein Eimer und ist ziemlich ruhig. Dumm. CoreDataa DOES kommt mit vorgefertigten Sync-Protokoll, aber auf der unteren Ebene ist es nicht dort –

+0

Der Versuch, eine SQLite-Datenbank über iCloud ohne etwas wie Core Data zu synchronisieren wird mit Schwierigkeiten behaftet sein. Denken Sie darüber nach, wie SQLite funktioniert - Sie aktualisieren einzelne Datensätze - und wie iCloud funktioniert - auf Dateiebene - und Sie sehen, dass es schwierig ist, sie zu heiraten. Core Data macht dies durch Transaktionsdateien, die später zusammengeführt werden. Das selbst zu erschaffen wäre ... herausfordernd. – Hunter

Antwort

2

Am besten implementieren Sie Core Data, um mit iCloud synchronisieren zu können. Aus meinen Untersuchungen gibt es keine bequeme Möglichkeit, eine SQLite-Datenbank mit iCloud zu synchronisieren, ohne Core Data zu verwenden. Die damit verbundenen Vorteile gehen über den Zugriff auf Daten hinaus. Durch die Implementierung von Stammdaten können Sie effektiver mit Ihren Daten arbeiten, da sie ein ausgereiftes Framework für objektrelationales Mapping bereitstellen. Es hat Einschränkungen wie beispielsweise, wie Schemaänderungen vorhandene Speicher unzugänglich machen. Es zeichnet sich jedoch auch in Bereichen wie der Unterstützung der Objektpersistenz aus. Insgesamt kann es Ihnen nur helfen, es besonders im Hinblick auf die Synchronisation mit iCloud zu nutzen.

Es gibt verschiedene Möglichkeiten, mit der Konvertierung Ihrer Datenbank in Core Data zu beginnen. Ein Ansatz besteht darin, die von Core Data generierte SQLite-Datenbank manuell zu ändern, sobald Sie ein Modell haben. Sie können festlegen, was geändert werden soll, indem Sie die generierte Datenbank in/AppData/Dokumente anzeigen, die über den Organizer in Xcode verfügbar sind. Von dort kann es einfach sein, Ihre SQLite-Daten in die neue Datenbank zu kopieren. Obwohl diese Methode von Apple nicht empfohlen wird, da sie das Core Data-Schema ändern kann, kann sie eine Möglichkeit bieten, vorhandene Datensätze problemlos zu migrieren. Eine andere Möglichkeit besteht darin, Code zu schreiben, der zwischen den Datenspeichern in Ihrer App zu übersetzen ist. Sie könnten sogar beide Implementierungen, SQLite und Core Data gleichzeitig verwalten, wenn Sie möchten.