Einstellungen Standalone – Übergabe an iPhone

Startseite Foren Deutsches LiveCode-Forum Einstellungen Standalone – Übergabe an iPhone

Schlagwörter: , ,

Ansicht von 7 Antwort-Themen
  • Autor
    Beiträge
    • #3329
      Wolli
      Teilnehmer

      Hallo,

      ich habe ein kleines Problem:

      Beim Übertragen der APP auf mein iPhone werden die zusätzlichen Dateien und Ordner, wie Bilder, Datenbank, DatePicker (Stack) nicht mit übertragen. Vermutlich ein Fehler von mir bei den Standalone-Settings. In den Reiter „Copy Files“ habe ich diese eingetragen, indem ich sie im Explorer ausgewählt habe.

      Es wird dann z.B. folgendes angezeigt:
      Bilder/*
      datepicker/*
      Datenbank-SQLite/daten.db

      Die Ordner, bzw. Dateien werden aber scheinbar nicht auf mein iPhone übertragen.

      Kann mir jemand helfen?

      Herzliche Grüße und ein schönes Weihnachtsfest

      Wolli

    • #3331
      gfz
      Teilnehmer

      Hi,
      ich habe zwar keinen Mac oder iPhone aber Haukes Buch ?. Auf Seite 346 rät er dazu „COPY REFERENCED FILES“ inaktiv zu lassen. Hast Du das berücksichtigt? Außerdem gibt es zum Buch noch beim Verlag noch Zusatzinformation zum Download – eventuell ist da auch was speziell für iPhone dabei. Darf ich fragen welchen Mac du benutzt bzw. welche CPU und wieviel Arbeitsspeicher du zur Verfügung hast?
      LG
      Georg

    • #3335
      Klaus Major
      Verwalter

      Hi Wolli,

      Die Ordner, bzw. Dateien werden aber scheinbar nicht auf mein iPhone übertragen.

      woran merkst Du, daß sie nicht vorhanden sein sollen?
      Mit welchem Skript greifst Du darauf zu?

      Alle Dateien und Ordner, die Du so Deiner Standalone hinzugefügt hast, findest Du dann hier:
      specialfolderpath(„resources“)

      Und nicht vergessen, iOS (und Android) habe ein CASE-sensitives Betriebsystem: bilder <> Bilder

      Gruß

      Klaus

    • #3364
      Wolli
      Teilnehmer

      Hallo Klaus,

      vielen Dank für die schnelle Antwort.

      Wenn die APP auf dem iPhone ist, kann ich sie ausführen, aber es sind keine Bilder vorhanden, ebenso fehlt der DatePicker und beim Oeffnen/Schreiben von Daten erhalte ich die Meldung, dass die Datenbank nicht gefunden wurde. Im Simulator funktioniert alles einwandfrei.

      Das mit dem specialfolderpath(„resources“) habe ich mir schon gedacht – ist für mich noch Neuland – damit muss ich mich wohl noch auseinandersetzen! Kannst Du mir dazu Hilfeseiten nennen?

      Herzliche Grüße und ein schönes Weihnachtsfest.

    • #3366
      Klaus Major
      Verwalter

      Hi Wolli,

      ich hate ein ellenlange Replik geschrieben, aber bekomme IMMER nur eine Fehlermeldung beim Absenden?
      Werde Hauke mal fragen, ob das Not tut! 🙂

      Schick mir mal deine Emailadresse, dann schicke ich Dir das per Mail: klaus AT major-k.de

      Liebe Grüße

      Klaus

    • #3368
      Klaus Major
      Verwalter

      So, habe das blöde große Oe eliminiert, auf ein Neues… 🙂
      ——————————————————————
      Hi Wolli,

      klingt, als würdest Du absolute Pfade zu Deinen Bildern angegeben haben!?
      Sprich, der ganze Pfad zu Deinem Bild auf Deiner Festplatte MIT dem Namen der Festplatte.

      Daher findet der Simulator auch die Bilder, er liegt ja auf Deiner Festplatte innerhalb von Xcode, aber das Gerät nicht, weil es Deine Festplatte nicht kennt.

      Verwende relative Pfadnamen und alles wird gut 🙂
      Und das geht so…

      Ich nehme an der Ordner Bilder liegt im selben Ordner wie der Stack, zumindest sollte er das.
      Dann wählst Du Dein Bild aus und Du sieht den absoluten Pfad, hier auf meinem Rechner:
      /Users/klaus/Desktop/Teststack/Bilder/bad2.JPG

      Der Stack mit dem Bild liegt in diesem Ordner:
      /Users/klaus/Desktop/Teststack

      Nun loescht Du das Absolute aus dem Pfad, bis nur der Ordner Bilder und der Dateiname übrig bleibt:
      Bilder/bad2.JPG

      Et voila, Bild immer noch zu sehen, weil der Stack im selben Ordner wie der Ordner „Bilder“ liegt und er so nun, trotz fehlender kompletter Adresse, relativ (zum Stack) gefunden wird.

      Soweit klar? 🙂

      Die Engine bzw. Standalone übersetzt diesen relativen Pfad automatisch zu -> specialfolderpath(„resources“), ohne daß wir das machen müssen, und das Bild ist auch auf dem Device zu sehen.

      Datepicker:
      Den oder die Stack(s) in dem Ordner rufst Du folgendermaßen auf:

      put specialfolderpath(„resources“) & „/name_deines_stack.livecode“ into tStack
      go stack tStack
      ### Nicht vergessen, wir haben innerhalb des Application Packages KEINE Schreibrechte, Du kannst so also diese datepicker Stack(s) nicht speichern!

      Dito für die Datenbank, die darfst Du da noch nicht einmal Oeffnen!
      Die musst Du erst in den DOCUMENTS Ornder kopieren und von dort Oeffnen, dort haben wir Schreibrechte!

      Das solltest Du beim Oeffnen Deines Stacks machen, also „on openstack“.

      ...
      ## 1. Zunächst alle benOetigten Pfade zusammenbasteln:
      ## Pfad zur Datenbank Datei innerhalb des App Package:
      put specialfolderpath("resources") & "/Datenbank-SQLite/daten.db" into tSourceDB
      
      ## Pfad zum DOCUMENTS Ordner des Users:
      put specialfolderpath("documents") & "/Datenbank-SQLite/daten.db" into tTargetDB
      
      ## Prüfen, ob die App wirklich zum allerersten Mal startet und nur dann die DB kopieren!
      if there is not a file tTargetDB then
       ## Datei noch nicht vorhanden, also rüberkopieren:
       put url("binfile:" & tSourceDB) into url("binfile:" & tTargetDB)
      end if
      ## fertig.
      ...

      Beim Oeffnen der DB mit revopendatabase übergibst Du dann das als Dateipfad:

      ...
      put specialfolderpath("resources") & "/Datenbank-SQLite/daten.db" int tDB
      put revOpenDatabase("sqlite",tDB) into tDBID
      ...

      Ja, so, weit, so gut erst mal, viel Spaß, bei Fragen fragen! 🙂

      Gruß

      Klaus

    • #3370
      Klaus Major
      Verwalter

      Korrektur zu DATEPICKER!

      Datepicker:
      Den oder die Stack(s) in dem Ordner rufst Du folgendermaßen auf:

      put specialfolderpath(„resources“) & „/datepicker/name_deines_stack.livecode“ into tStack
      go stack tStack

    • #3380
      Klaus Major
      Verwalter

      Und noch eine Korrektur, es muss auf dem Device natürlich die kopierte Datanbankdatei im DOCUMENTS Ordner geöffnet werden!

      ...
      put specialfolderpath("documents") & "/Datenbank-SQLite/daten.db" int tDB
      put revOpenDatabase("sqlite",tDB) into tDBID
      ...
Ansicht von 7 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.