InHouse App mit InApp Download

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

  • InHouse App mit InApp Download

    Guten Morgen,
    ich habe mal eine Technische Frage.
    Unsere InHouse App beinhaltet Bilder,Videos und PDF Dokumente.
    Wenn neue Dateien hinzukommen gibt es am Ende eines Monats immer ein Update, in dem ich eine Archivdatei auf unseren Fileserver lade und alle Kollegen mit der App das ganze Programm runterladen müssen (Aktuell etwa 350MB).
    Gibt es eine möglichkeit all diese Daten auch ohne neue Appversion in die App zu integrieren?
    Wichtig ist Dabei, das jede Datei zudem in die Datenbank geschrieben wird. Zudem müssen auch nichtmehr verwendete Dateien gelöscht werden können.
    Ist sowas Technisch realisierbar?
    Aktuell habe ich das dazu gefunden:
    stackoverflow.com/questions/62…and-save-image-inside-app

    Falls jemand mehr findet oder gar Erfahrung damit hat, wäre ich sehr dankbar.

    Gruß

    Pete
    Intelligente Sätze zu verfassen ist gar nicht so einfach. Schon ein einziger Buchstabendreher kann den ganzen Text urinieren... :whistling:
  • Natürlich ist das möglich, Deine App muss die Daten von einem Server (z. B. in einem Zip) nachladen und in ihrem Documents- oder Application-Support-Ordner auspacken. Zum Download findest Du hier etwas. Auspacken von gezippten Dateien kannst Du direkt über die libz selber machen oder Du verwendest einen fertigen Wrapper.
    „Meine Komplikation hatte eine Komplikation.“
  • warum machst du es nicht gleich richtig und legst alle Daten die aktuell in der App sein sollen auf den Server. Die App sieht dann meinetwegen einmal am Tag in einem Background Task nach ob die Daten auf dem Device noch mit denen auf dem Server übereinstimmen und führt nur die Änderungen durch die nötig sind.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Ich.
    Jedoch komme ich aus einem völlig anderem Programmierumfeld (Uniface).
    Man hat mir damals halt nur 4 Monate Zeit gegeben diese App zu entwickeln, vorher hatte ich noch nie etwas mit Apple Geräten zu tun (Sprich OSX was erstmal ungewohnt zu bedienen).
    Dementsprechend habe ich versucht, erstmal die Grundfunktionen zu realisieren bevor ich dann schritt für schritt weitere Entwicklungen betreibe.
    Intelligente Sätze zu verfassen ist gar nicht so einfach. Schon ein einziger Buchstabendreher kann den ganzen Text urinieren... :whistling:
  • Hab ich irgendwo geschrieben, dass mir das jemand Programmieren soll?
    Habe doch nur zu Thallius Post stellung genommen.
    Das werde ich jetzt versuchen um zu setzen, nachdem ich mich da in die Thematik eingelesen habe.

    @macmoonshine: Deinen Rat werde ich befolgen, danke :)
    Intelligente Sätze zu verfassen ist gar nicht so einfach. Schon ein einziger Buchstabendreher kann den ganzen Text urinieren... :whistling:
  • Am saubersten wäre es ihr setzt dafür einen ordentlichen Webservice auf. Dazu brauchst du aber jemanden der sich mit PHP o.ä. auskennt. Diesem würde ich erstmal eine Funktion

    getfiles.php

    o.ä. geben, mit der du z.B. in einem XML alle Files bekommst die sich auf dem Server befinden. Das könnte etwa so aussehen

    XML-Quellcode

    1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    2. <verzeichnis>
    3. <file>
    4. <name>movie1.mpeg</name>
    5. <lastchanged>20140323</lastchanged>
    6. </file>
    7. ...
    8. </verzeichnis>


    Dieses XML kannst du dann ganz einfach per HTTPRequest holen und mit dem NSXMLParser parsen. Dann schaust du nach welche Dateien du auf deinem Device hast und vergleichst diese. Ist eine Datei auf deinem Device aber nicht in der Liste, dann löscht du diese auch auf dem Device. Ist eine Datei in der Liste neuer als auf dem device dann lädst du sie runter und speicherst sie. Das runterladen kann man wieder über einen webservice machen.

    getfile.php?filename=movie001.mpg

    Dann kannst Du auch das per HTTPRequest holen.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Die Idee klingt richtig gut. Jedoch würde mein Chef niemanden mehr für die lästige IT einstellen. Jemand externes würde sein Geld nie zu Gesicht bekommen :/
    Aber danke, vllt. lese ich mich da gleich mal mit ein. :)
    Intelligente Sätze zu verfassen ist gar nicht so einfach. Schon ein einziger Buchstabendreher kann den ganzen Text urinieren... :whistling:
  • Thallius schrieb:

    gritsch schrieb:

    einfacher als xml ist json, ersparst du dir das parsen ;)


    Dafür ist JSON selber nicht so leicht verständlich wie XML für einen Anfänger finde ich.

    Gruß

    Claus


    doch, ist ja verständlciher. denn das zwischenformat JSON bekommst du nie zu sehen sondern einfach die struktur aus NSArray/NSDictionary etc welche man sonst selbst zusammenbauen müsste (beim parsen des XML)
  • Ja, aktuell sind es 350MB. Da aber laufend neue Daten hinzu kommen, wird es nächstes Jahr bei gut 1,5GB sein.
    Ich meine gelesen zu haben, das Apple die Apps auf 2GB begrenz hat. Die Daten in der App müssen aber immer Offline abrufbar sein.
    Deswegen frag ich, ob dies auch der Fall bei Inhouse Apps ist, mit internen Downloads.
    Intelligente Sätze zu verfassen ist gar nicht so einfach. Schon ein einziger Buchstabendreher kann den ganzen Text urinieren... :whistling:
  • Dapete schrieb:

    Ja, aktuell sind es 350MB. Da aber laufend neue Daten hinzu kommen, wird es nächstes Jahr bei gut 1,5GB sein.
    Ich meine gelesen zu haben, das Apple die Apps auf 2GB begrenz hat. Die Daten in der App müssen aber immer Offline abrufbar sein.
    Deswegen frag ich, ob dies auch der Fall bei Inhouse Apps ist, mit internen Downloads.


    daürber hättest du aber nachdenken sollen bevor du die app überhaupt programmiert hast.

    wenn sie das limit in den nächsten ios versionen nicht erhöhen oder den docuemtns-folder ausschließen (oder was auch immer) dann musst du eben anch einer anderen lösung suchen.