Rat für Herangehensweise erbeten (iOS Client für macOS App)

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

  • Rat für Herangehensweise erbeten (iOS Client für macOS App)

    Hallo zusammen,

    erst einmal entschuldigt den dummen Titel, aber mir ist nichts besseres eingefallen.

    Ich bräuchte einmal euren Rat um herauszufinden, welche Herangehensweise für mein Problem am besten ist:

    Hintergrund:
    Ich habe einen Software gesucht um japanische Vokabeln abzufragen. Zwar gibt es diverse Apps wie z.B. Anki, aber auch wenn diese einen großen Funktionsumfang haben, fehlen diesen einige Optionen, die ich gerne hätte. Daher habe ich mich entschlossen, selbst eine entsprechende App zu schreiben.
    Trotz weniger Vorkenntnisse, habe ich die macOS App recht schnell erstellt bekommen. Diese dient vorwiegend um die Wörter zu verwalten, aber natürlich auch zum lernen. Die Wörter werden in einer SQLite Datei gespeichert, welche in meine ownCloud gespeichert wird.

    Ziel / Nächster Schritt:
    Nun würde ich gerne, für unterwegs, eine iOS App schreiben, welcher allerdings nur zum lernen dient.
    Dafür müsste die SQLite Datei irgendwie in die App auf dem iPhone gelangen und wenn man mit dem lernen fertig ist, wieder zurück, sodass ich immer die aktuellen Daten an einem Ort habe, um sie auch wieder am Mac bearbeiten zu können.

    Herausforderung:
    Ich weiß leider nicht genau wo ich anfangen soll. Ich würde das ganze gerne über die ownCloud realisieren (da die Datei dort sowieso schon vorhanden ist), allerdings habe ich keine gute Anleitung gefunden bzw. eine die für Anfänger geeignet ist. Bei GitHub gibt es zwar einige Dateien, aber mit meinen Kenntnissen, blicke ich dort nicht durch. :(

    Ich habe mehrere Ideen, weiß jedoch nicht, wie ich diese realisieren kann/soll:

    1. Ganz einfach: Die aktuelle SQLite Datei in mein Projekt einpflegen und auf mein iPhone manuell „synchronisieren“, benutzen/bearbeiten und später wieder vom iPhone herunterladen und auf meinen Mac kopieren. Alles manuell und sehr umständlich, dafür aber ohne viel Programmierarbeit verbunden.
    2. Da die Datei schon in der ownCloud ist, könnte man diese von dort herunterladen, benutzen/bearbeiten und wieder hochladen
    3. Eine Lösung an die ich bis jetzt noch nicht gedacht habe, aber vielleicht auch zum Ziel führt und für einen Anfänger nicht all zu umständlich ist. Vorschläge? :)


    Dummerweise, habe ich leider zu wenig Kenntnisse für 1. und 2. Bin aber lernbereit, jedoch brauche ich einen kleinen Anstoß in die richtige Richtung.

    Gibt es eine Möglichkeit 1. zu realisieren? Wo muss ich die Datei hin kopieren und wie bekomme ich die aktuellste Version wieder auf meinen Mac?

    Kennt jemand von euch vielleicht eine Seite oder ein Beispielprojekt, welches die einfachsten Grundlagen für die ownCloud erklärt? D.h. Verbindungsaufbau, Upload und Download einer Datei.
    Auf der anderen Seite, habe ich auch gelesen, dass man Dateien, welche man in ein Projekt lädt, nicht so ohne weiteres bearbeiten kann.

    Oder hat jemand eine andere, vielleicht einfachere Idee? Es handelt sich auch nur um ein Projekt für mich selbst und nichts, was ich plane in den App Store zu stellen.

    Sollten Rückfragen sein, versuche ich diese gerne zu beantworten.

    Ansonsten schon einmal im Voraus vielen Dank fürs lesen und evtl. Lösungsvorschläge.
  • Die 1. Möglichkeit ist sehr einfach zu realisieren, allerdings auch die benutzerunfreundlichste Lösung. Über iTunes lassen sich Dateien über die Dateifreigabe aus/in das Dokument-Verzeichnis der App kopieren. Dazu musst Du in Xcode unter Info im Target (also in der Info.plist) den Key "Application supports iTunes file sharing" hinzufügen und den Value auf YES setzen.

    Nach dem Installieren der App auf dem Device kannst Du dann in iTunes über Apps und dann unten in Dateifreigabe die App auswählen und Dir wird der aktuelle Inhalt des Dokument-Verzeichnises der App angezeigt. Hier kannst Du jetzt Dateien aus/in das Dokument-Verzeichnis kopieren.

    In der App erhältst Du den Pfad des Dokument-Verzeichnises mit Objective-C z.B. über:

    Quellcode

    1. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    2. NSString *path = [paths objectAtIndex:0];

    Für die 2. Lösung musst Du mal schauen, ob ownCloud eine API zum up-/download von Dateien hat. Die müsstest Du dann entsprechend verwenden, um die Datei herunter und/oder hochzuladen.

    Alternativ zur ownClound wäre evtl. noch iCloud von Apple eine Option. Hierbei sollte sich die SQLite Datei dann eigentlich automatisch zwischen den beiden Apps synchronisieren.