Daten synchronisieren zwischen iOS und macOS

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

  • Daten synchronisieren zwischen iOS und macOS

    Hallo zusammen,

    wie und mit welcher Technologie kann ich Daten zwischen iOS und macOS synchronisieren ohne einen eigenen Server oder über eine Peer-to-Peer Verbindung ? Wenn möglich soll das Ganze ohne weitere Konfiguration innerhalb der App geschehen und es sollte auch über das Internet klappen.
  • Es gibt natürlich auch andere Möglichkeiten, wie z. B. Dropbox, das Zauberwort ist „EIGENER Server“ ... diese Lösungen basieren eben alle auf Fremd-Servern.

    iCloud bietet schon recht viel und hat die (meisten) Kinderkrankheiten überwunden. Was willst Du denn synchronisieren? Einfache Einstellungen, Dokumente, Datenbanken?

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Ich habe eine App, die derzeit nur einfache Daten in eine SQLite Datenbank schreibt jeweils unter iOS und macOS. Diese Daten würde ich gerne synchronisieren. Ich möchte gerne die Synchronisation so haben, wie bei der App Notizen. Soll heißen, wenn ich auf dem Mac einen neuen Datensatz schreibe, soll dieser automatisch in die iOS App synchronisiert werden und umgekehrt.
  • MODWORLD schrieb:

    Ich möchte gerne die Synchronisation so haben, wie bei der App Notizen. Soll heißen, wenn ich auf dem Mac einen neuen Datensatz schreibe, soll dieser automatisch in die iOS App synchronisiert werden und umgekehrt.
    Dann steht Dir sinnvollerweise noch eine weitere Umstellung in's Haus: CoreData als Datenhaltung, iCloud für die Synchronisierung. Nähere Informationen findest Du u. a. in den Apple Dokumentationen. Der Versuch, direkt nur die SQListe-DB zu synchronisieren, ist wenig erfolgversprechend: Hier fehlt Dir ein vernünftiges Locking und Synchronisation auf Datensatz-Ebene...

    Aber zu dieser Kombination sind andere im Forum wesentlich kompetenter als ich :)

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Also wenn Du es wirklich nur zwischen den beiden für dich alleine synchronisieren willst, dann geht es noch relativ einfach wenn Du auf ein wenig Kompfort verzichtest. On Du da dann iCloud oder DropBox oder irgendeinen anderen Server benutzt ist relativ egal. Du must lediglich beim Start der App immer das aktuellste vom Server holen und bei Änderungen direkt wieder sichern. Das klappt natürlich nur solange wie die Datenbank klein bleibt, da du ja bei jeder Änderung die ganze DB hochladen musst.

    Wird das Dingen also größer, dann solltest du dir gedanken über eine andere Lösung machen. Da wäre dann eben das genannte CoreData und iCloud oder eben einen Webservice auf einem eigenen Server irgendwo im Netz. Ersteres hat den Vorteil das es alles mit Apple Boardmitteln machbar ist und man mit Swift und/oder Objective-C auskommt. Dafür bist du komplett unflexibel und für den Rest deines Lebens darauf angewiesen Apple Produkte zu verwenden :) Auch wenn Deine Freundin mit Ihrem Samsung mal mitmachen will wird das dann eher nichts.
    Da wäre eine Server Lösung besser. Da must du dann alerdings noch irgendeinen Webservice schreiben in PHP, python, NodeJS, JavaSpring oder was eben der Server Hoster anbietet und zuläßt. Vorteil dort ist, dass Du dann sogar eine Schnittstelle für einen Standart Browser in HTML/JS schreiben kannst und die App nicht immer zwingend benötigst. Alles in allem finde ich die zweite Lösung immer besser aber sie ist eben auch wesentlich Lernintensiver.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Danke für die Antworten. Die Argumente für einen eigenen Server mit Webservice verstehe und akzeptiere ich. Da meine App es eh nur für iOS und macOS gibt und ich dem Anwender eine extra Anmeldung/Registrierung ersparen möchte, wenn ich einen Webservice einsetze, bleibt aus meiner Sicht nur der Schritt über iCloud und CoreData übrig. Ich bin hier aber auch für weitere Vorschläge offen, das ganze über einen Webservice zu lösen.