fmk 2016 - robert kaiser - filemaker ios app sdk

85
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 www.filemaker-konferenz.com Ein Vortrag von Robert Kaiser FileMaker iOS App SDK

Upload: verein-fm-konferenz

Post on 19-Jan-2017

246 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

www.filemaker-konferenz.com

Ein Vortrag von Robert Kaiser

FileMaker iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Robert Kaiser – karo.at

Robert Kaiser

• zertifizierter FileMaker Entwickler

• FBA Mitglied

• Werbegrafiker seit 1993

• FileMaker Entwicklung seit 1996

• Autor für FileMaker Magazin

• Sprecher auf der FileMaker Konferenz 2012, 2013

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Robert Kaiser – karo.at

karo productions

• individuelle Lösungen auf der Basis von FileMaker Pro/Go/WebDirect

• DTP-Workflow-Optimierung

• Schulungen (Adobe InDesign, Photoshop, u.a.)

• Focus auf mobile Lösungen

• FMM Award 2014, Beste FileMaker Lösung

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Agenda• FileMaker iOS App SDK

• Erstellung einer App (Überblick)

• Ausführen der nativen App

• Verteilung: Datei vs App

• Ablauf bei Veröffentlichung

• Sicherheit der Datenbankdateien

• FileMaker Lösungen mit dem iOS App SDK

• FileMaker Techniken für das iOS App SDK

• Vorbereitung der Datenbankdateien

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

FileMaker iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

• Mit dem Entwicklerwerkzeug „iOS App SDK“ kann man ein Xcode Projekt für eine iOS App erzeugen, die den Funktionsumfang von FileMaker Go bereitstellt.

• In dieses Projekt wird zumindest eine FileMaker Datenbankdatei eingebunden und als Startdatei geöffnet.

• Mit Xcode kann dann eine native App (IPA-Datei) erstelltund anschließend verteilt werden.

Was ist das iOS App SDK?

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

• Mac

• XCodehttps://developer.apple.com/xcode/ bzw. im dem Mac App Store

• FM Developer Subscription Account (79,–)http://developer.filemaker.com

• Apple Developer Account (99,–)https://developer.apple.com

Voraussetzungen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

• Grundsätzlich ident mit FileMaker Go(z.B. lokale Datenbanken öffnen, mit Filemaker Server verbinden)

• d.h. eine Verbindung zu FileMaker Server kostet eine Connection/User

• Gleichen Limits wie FileMaker Go (kein Zugriff auf Adressbuch, Kalender, etc.)

• Hat keinen Dateibrowser (Launch Center), d.h. kein Öffnen und kein Senden von Dateien per GUI, hat aber ein Dokumentenverzeichnis

• Kein FileMaker Branding (eigene Icons, Launch-Screens, Hilfe-Seite, etc)

• Kein FileMaker Support für erstellte Apps

• Benötigt mindestens eine primäre Datenbankdatei zum Starten

• Es ist immer mindestens ein Fenster geöffnet

• Eigener URL Type, weil eigene vollwertige iOS App erzeugt wird

„Funktionsumfang von FileMaker Go“

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Erstellung einer App (Überblick)Ausführliche Informationen zum Vorgang

siehe Vortrag von Christian Schmitz

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Auszug aus „iOS App SDK guide“

• Enroll in the Apple Developer Program

• Register the iOS devices you will use to test your app Download and install Xcode

• Create signing identities and certificates

• Create an App ID

• Download a provisioning profile

• Use the iOS App SDK to create a project directory

• Add your solution files to Xcode

• Create images and add them to the Xcode project

• Enable Data Protection

• Specify a version, build number, and URL scheme for your app Build

• Test your app

Vorbereitung und Erstellung

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Ergänzungen 1 zu iOS App SDK guide:

Unter Step 4: Create the App ID

• Punkt wählen:„Include CloudKit Support“

Vorbereitung und Erstellung

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Ergänzungen 2 zu iOS App SDK guide:

Für iOS 10 sind zusätzliche Strings in der info.plist nötig:

• Zumindest diese beiden Einträge mit Texte in lokalisierter Sprache ergänzen:NSCameraUsageDescriptionNSPhotoLibraryUsageDescription

Diese Erklärungstexte erscheinen, wenn die iOS App auf die Kamera bzw. auf die Fotobibliothek zugreift.

Vorbereitung und Erstellung

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Ergänzungen 2 zu iOS App SDK guide:

Vorbereitung und Erstellung

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Ausführen der nativen App

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Erster Start:

• Beim Starten der iOS App wird eine Kopie der Lösungsdatei(en) in das Dokumentenverzeichnis kopiert und geöffnet.

Start der iOS App

Dokumentenverzeichnis der iOS App:

Meine Lösung.fmp12

IPA Datei

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Dokumentenverzeichnis der iOS App:

Neustart:

• Beim jedem weiteren Start der iOS App wird nur die Kopie der Lösungsdatei(en) geöffnet.

Start der iOS App

Meine Lösung.fmp12

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Meine Lösung.fmp12

Dokumentenverzeichnis der iOS App:

Exportdatei x.fmp12

Datei y.pdf

Neustart nach Versions-/Buildwechsel (je nach Xcode-Einstellungen):

• Die in der IPA Datei mitgelieferte Lösungsdatei(en) wird erneut in das Dokumentenverzeichnis kopiert, eine bereits vorhandene wird überschrieben. Alle anderen Dateien bleiben unverändert.

Start der iOS App

Meine Lösung.fmp12

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

• Jede iOS App hat ihr eigenes Dokumentenverzeichnis und kann nicht auf das der anderen Apps zugreifen (Sandbox in iOS)

Dok.-Verzeichnis der iOS App 1:

Lösung A.fmp12

Exportdatei x.fmp12

Datei y.pdf…

Dok.-Verzeichnis der iOS App 3:

Datei C.fmp12

Dok.-Verzeichnis der iOS App 2:

Lösung B.fmp12…

Dok-Verzeichnis FileMaker Go 15:

Datei D.fmp12

Dok-Verzeichnis FileMaker Go 14:

Datei E.fmp12

Dok-Verzeichnis FileMaker Go 13:

Datei F.fmp12

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Wie jede andere iOS App:

• Unter aktuellem iOS muss in der Multitasking-Ansicht die App nach oben gewischt werden.

• Beachten: Die Datenbank wird nicht tatsächlich geschlossen!

• Das bedeutet, dass hier kein Trigger „BeiLetztemFensterSchliessen“ auslöst…

• d.h. auch Trigger „BeiErstemFensterÖffnen“ wird nicht ausgeführt!

• Erst der Scriptschritt „Fenster schließen“ (wenn es das letzte geöffnete Fenster ist) bzw. „Programm beenden“ führt zum Auslösen der Trigger!

Beenden der iOS App

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Beenden der iOS App mit FileMaker Bordmittel:

• Ist nicht möglich!

• Der Scriptschritt „Programm beenden“ schließt zwar alle geöffneten Fenster,da aber mindestens ein Fenster geöffnet sein muss, wird die Startdatei sofort wieder geöffnet und der Trigger „BeiErstemFensterÖffnen“ (Startscript) ausgeführt.

Beenden der iOS App

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

DEMO 1

DEMO 1- Wann läuft Startscript?- Wann läuft Endescript?- Verzeichnis ansehen- Fenster schliessen / App beenden

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Verteilung von mobilenFileMaker Datenbanklösungen:

Datei vs App

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

FileMaker Go = Lösungsdatei(en) werden zum Anwender gebracht

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Vorbereitung für Anwender

• FileMaker Go muss aus dem App Store geladen werden

Transfer der Dateien (ausser bei reinen Serverlösungen)

• Kopiere Datenbankdatei über iTunes

• Sende Datei per E-Mail

• Download und öffnen per URL von FTP Server

• Download aus Dropbox, etc.

• Download aus iCloud Drive

• Download per Hilfsdatei vom FileMaker-Server

Öffnen der Lösungsdatei…

FileMaker Go – Lösungsdateien verteilen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Chaos im Launch-Center?

• Lokale Lösungen können unter Umständen aus mehreren Dateien bestehen (GUI, Daten, Installer, Updater, SyncEngine, Backup, …)

• Anwender kann mehrere Lösungen/Demos installiert haben

• Löschen von Dateien

• Bereich „Letzte“ oder „Gerät“?

• Übergang zur nächsten FileMaker Go Version

Vorteil Launch-Center

• Öffnen beliebiger fmp12-Dateien aus dem lokalen Verzeichnis

• Versenden von Datenbankdateien durch Anwender

FileMaker Go – Lösungsdateien verteilen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

WebClip Icons?

(=generiertes Profil z.B. mit Apple Configurator um eine Datei lokal oder am Server im Vollbildmodus auszuführen)

• oft Probleme mit iOS System-Updates

• für Anwender verwirrend, da zwei „Apps“ gleichzeitig laufen, welche soll er bei Problemen beenden?

• Wie wird dann FileMaker Go neu gestartet?

FileMaker Go – Lösungsdateien verteilen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

iOS App SDK = Apps müssen zum Anwender gebracht werden

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Vorbereitung für Anwender

• Laden der App aus dem App Store / MDM / Website

Öffnen der App

• Startdatei wird somit geöffnet und vom Entwickler programmierter Start oder programmierte Installation wird automatisch ausgeführt.

Transfer von fmp12-Dateien auch hier möglich

• Kopiere Datenbankdatei über iTunes

• Sende Datei per E-Mail

• Öffnen und Download per URL von FTP Server

• Download aus Dropbox, etc.

• Download per Hilfsdatenbank vom FileMaker-Server

iOS App SDK – Apps verteilen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Mit Einschränkungen möglich:

• Öffnen beliebiger fmp12-Dateien aus dem lokalen Dokumentenverzeichnis per GUI (Launch-Center) nicht möglich, jedoch mit Hilfe des URL-Protokolls.

iOS App SDK – Apps verteilen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

iOS App SDK – Apps verteilenZusätzliche Vorbereitung durch Entwickler:

Neue Herausforderung: Ohne entsprechendes Zertifikat kann eine iOS App nicht installiert werden!

Daher ist Veröffentlichung nur möglich über:

• Ad hoc (Version zum Testen, nur für registrierte Testgeräte)

• TestFlight

• öffentlichen App Store (siehe FileMaker Statement)

• im Apple VPP Store (B2B-Lösungen)

• im Apple Developer Enterprise Program

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Ad hoc Version zum Testen:

• max. 100 registrierte Geräte pro Apple Entwickler-Lizenz pro Jahr

• Download möglich über MDM oder Website (manifest.plist, IPA-Datei)(Zielgeräte müssen auch hier registriert sein)

• kein Review Prozess von Apple nötig

iOS App SDK – Apps verteilen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

App TestFlight:

• Intern Testen (bis zu 25 iTunes Connect-Benutzer, kein Review nötig)

• Extern Testen (bis zu 2000 externe Tester, Beta-App-Review nötig)

• Einladung per E-Mail

• keine GeräteID-Registrierung nötig

• Laufzeit der App (Build) nur 60 Tage!

iOS App SDK – Apps verteilen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Veröffentlichung im öffentlichen App Store:

• Clarification of iOS App SDK Support:

„FileMaker, Inc. does not recommend or support the use of the iOS App SDK to distribute custom iOS apps using the public App Store.“

• ist für jeden sichtbar, Endbenutzer ist unbekannt, keine Supportmöglichkeit

• Zugriff auf FileMaker Server macht keinen Sinn (Connections)

• nur sinnvoll, wo Inhalte zur Verfügung gestellt wird (Lexika, Referenzen, Content-Viewer) oder Hilfsmittel wie Trinkgeldrechner, etc.

• nicht sinnvoll, wo Benutzer eigene Inhalte generieren (Fotos, Tagebuch), da es derzeit keine einfache Möglichkeit gibt, von Inhalten Backups zu erstellen.

iOS App SDK – Apps veröffentlichen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Veröffentlichung im Apple VPP Store (B2B-Lösungen):

• Anwender (Kunde) ist dem Entwickler bekannt

• Anwender meldet sich im Volume Purchase Programm an

• Entwickler gibt in iTunesConnect die erstellte App für Anwender frei

• Kunde kann mit seiner VPP AppleID die Lösung installieren (per Gutscheincodes oder per Token für MDM)

iOS App SDK – Apps veröffentlichen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Veröffentlichung im Apple Developer Enterprise Program:

• für interne Entwicklung und Verteilung innerhalb einer Firma

• kein Apple Review Prozess

• Alle Anwender benötigen E-Mail-Adressen innerhalb der selben Haupt-Domain, die für das Enterprise Programm registriert wurde.

iOS App SDK – Apps veröffentlichen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Apple VPP Store (B2B-Lösungen)Apple Developer Enterprise Program

Allerdings nicht in jedem Land verfügbar!

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

iOS App SDK – Apps verteilen

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Apple VPP Store (B2B-Lösungen)Apple Developer Enterprise Program

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Verteilen per Mobile Device Manager (MDM):

Dient zur entfernten Verwaltung von mobilen Geräten (auch für Desktop-Geräte)

• Profile können installiert werden (Einschränkungen, Konfigurationen, etc.)

• Daten können ausgelesen werden

• Apps können installiert oder deinstalliert werden

iOS App SDK – Apps verteilen per MDM

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Beispiele für Lösungen:

• vmware Air-Watch ca. ab 4,– pro Monat und Gerät

• Bushel (Installation von B2B Apps nicht möglich)ab 2,– pro Monat und Gerät, ersten drei Geräte sind frei

• ManageEngine - Mobile Device Manager Plus

• macOS Server (Profile Manager)

• www.appconfig.org

iOS App SDK – Apps verteilen per MDM

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Ablauf bei Veröffentlichung einer iOS App

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Bevor eine App in einem Store veröffentlicht werden kann, muss diese von Apple überprüft werden (Review)

Das betrifft:

• Öffentlichen App Store

• Apple VPP Store (B2B-Lösungen)

• Externe Tests mit TestFlight

Ablauf bei Veröffentlichung einer App

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

• Erstellung einer BundleID (AppID) im Apple Developer Konto

• Xcode Projekt erzeugen

• Testen

• Unter iTunes Connect Eintrag erstellen, Informationen ergänzen

• Von Xcode aus neuen Build hochladen

• Unter iTunes Connect Build auswählen und zur Überprüfung senden und auf Antwort warten

Schritte bis zur Überprüfung

Tipps:- Sprache- Feature von FM Go- InApp Purchase

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

FileMaker Lösungenmit dem iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Die wichtigsten Zutaten:

Ein Plan für zukünftige Versionen!

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Die wichtigsten Zutaten:

Testen, testen, testen…

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Plan für zukünftige Versionen?

• das Verteilen einer neuen Datenbankdatei ist einfacher als das erneute Erstellen und Verteilen der App

• eine neue App ist bei B2B Lösungen im Idealfall nur nötig, wenn eine neue SDK Version (neue FileMaker Go Version) erscheint

• die primäre Lösungsdatei, die in die App eingebunden wird, sollte daher möglichst unabhängig von der eigentlich Lösung agieren.–> Erstellung einer Startdatei (Launcher.fmp12)

FileMaker Lösungen mit dem iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Mögliche Szenarien für Startdatei:

A. Launcher ist nur „Client“, Lösung liegt auf einem FileMaker Server

B. Lösung ist reine Offline-Lösung

C. Lösung ist zwar Offline-Lösung, Zugriff auf FileMaker Server ist möglich

FileMaker Lösungen mit dem iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

A. Launcher ist nur „Client“

Beispiel: Anwendung ist reine Server Lösung

Aufbau Launcher:

• Anwender trägt Adresse des Server selbst ein

• Datenbank am Server wird per URL Protokoll geöffnet

• Vorteil: Bei Änderung der Server-Adresse muss die iOS App nicht neu verteilt werden

FileMaker Lösungen mit dem iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

DEMO 2

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

B. Lösung ist reine Offline-Lösung

Beispiel: Keine Möglichkeit mit FMS zu arbeiten, oder App im öffentlichen App Store.

Aufbau Launcher:

• Beim ersten Start wird eigentliche Lösung aus Containerfeld exportiert und sofort geöffnet.

• GUI und Datendatei könnten getrennt sein und bei Update ist nur die GUI Datei zu überschreiben.

• Ist Datendatei beim ersten Start vorhanden, wird diese nicht exportiert.

• Ist eine Änderung der Datendatei-Struktur nötig, kann zusätzlich eine Transfer-Datenbank exportiert werden, die die Übernahme der Daten in die neue Lösung erledigt

FileMaker Lösungen mit dem iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

B. Lösung ist reine Offline-Lösung

Alternative für Updates:

• Angabe einer neuen Primärdatei (Datei1.fmp12, Datei2.fmp12, etc.) und Import der Daten aus Vor-Versionen(Achtung auf Zugangsdaten!)

FileMaker Lösungen mit dem iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

DEMO 3

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

C. Lösung ist zwar Offline-Lösung, Zugriff auf FMS ist möglich

Beispiel: B2B Anwendung ist primäre Offline-Lösung, die neue Daten gegen FMS synchronisiert.

Aufbau Launcher:

• Datenbank zur Verwaltung wird per URL Protokoll am FMS geöffnet

FileMaker Lösungen mit dem iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

C. Lösung ist zwar Offline-Lösung, Zugriff auf FMS ist möglich

Aufbau und mögliche Funktionen einer Verwaltungsdatenbank:

• Kann neue Datenbankdateien auf Zielgerät exportieren

• Kann Versions-Verwaltung beinhalten

• Kann Backups vom Zielgerät sichern (Import aus Dokumentenordner in Container-Feld)

• Kann Starteinstellungen der Launcherdatei konfigurieren…

FileMaker Lösungen mit dem iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

DEMO

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

FileMaker Technikenfür das iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Datei öffnen:

A) Verbindung über externe Datenquelle:

• Vorteil: Benutzername / Pwd wird übergeben

• Vorteil: EAR wird übergeben

• Nachteil: Zieldateiname/Adresse kann nicht angepasst werden

B) Öffnen über URL Scheme

• Vorteil: Adresse kann flexibel zusammengestellt werden

• Scripts können ausgeführt werden und Parameter und Variablen können übergeben werden

FileMaker Techniken für das iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Datei öffnen:

B) Öffnen über URL Scheme

• Öffnen mit Scriptschritt:URL öffnen[Mit Dialog: Aus]“

• Syntax:fmp://{{konto:passwort@}adresse/}dateiname{?script=scriptname{&param=scriptparameter}{&$variablename{[wiederholungnr]}=wert}}

• URL Type „fmp“ gilt nur für FileMaker Go!In Xcode wird für die iOS App ein eigener URL Type erstellt

FileMaker Techniken für das iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Verzeichnis laden:

Per Scriptschritt oder Eigene Funktion

• Diese Formel liefert alle Dateinamen aus dem Dokumentenverzeichnis Falls( Hole( Gerät ) >= 3; Austauschen( Hole( DokumentePfadListe ); Hole( DokumentenPfad ); "" ))

• Beachten, dass hier auch alle exportieren PDFs und Textdateien enthalten sind

• Somit lässt sich leicht überprüfen, ob eine Datei vorhanden ist oder nicht FilterElemente ( $DateiName ; $Dateiliste ) = ""

FileMaker Techniken für das iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Datei exportieren:

Für die Installation von Datenbanken kann eine Datei einfach aus einem Medienfeld exportiert werden:

• Scriptschritt: Exportiere alle Feldwerte [ TO::Medienfeld; „$Dateipfad“ ]

• Ist die Zieldatei vorhanden, wird sie überschrieben

• Ist die Zieldatei geöffnet, ergibt das einen Fehler, daher sollte vorab sichergestellt sein, dass diese Datei geschlossen ist!

FileMaker Techniken für das iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Datei importieren:

Um Backups von Datenbanken am FMS zu erstellen:

• Scriptschritt: Aus URL einfügen [ Mit Dialog: Aus; TO::Medienfeld; „$Pfad“ ]

• Beachten: Zielfeld muss sich auf aktuellem Layout befinden

FileMaker Techniken für das iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Datei löschen:

Um Dateien aus dem Verzeichnis zu löschen:

• Scriptschritt (keine Exportreihenfolge angeben): Datensätze exportieren [ Mit Dialog: Aus ; „$Dateipfad“ ]

• Ist die Zieldatei geöffnet, ergibt das einen Fehler, daher sollte vorab sichergestellt sein, dass diese Datei geschlossen ist.

FileMaker Techniken für das iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Datei schliessen:

Um alle geöffneten Dateien zu schliessen (z.B. bei Datei löschen), kann mit dem Scriptschritt „Fenster schließen“ gearbeitet werden

• Alle geöffneten Fensternamen auslesen: Variable setzen [ $FensternamenListe; Wert: Fensternamen ]

• In Schleife alle Fenster schließen mit Ausnahme der aktuellen Datei

• Scriptschritt: Fenster schließen [„$Fenstername“ ]

• Beachten: Fensternamen enthalten kein fmp12-Suffix

FileMaker Techniken für das iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Textdatei exportieren:

Um Parameter, Einstellungen oder Versionsdaten zu speichern, können diese auch als Textdatei exportiert werden

• Textdatei exportieren aus Textfeld mit Exportiere alle Feldwert [ TO::Exportfeld; $Dateipfad ]

• Achtung: Codierung ist hier UTF16

FileMaker Techniken für das iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Textdatei importieren:

• Vorteile: Daten sind schnell geladen, einfach zu überprüfen, ob vorhanden

• Scriptschritt: Aus URL einfügen [ Mit Dialog: Aus; TO::Medienfeld; „$Pfad“ ]

• Beachten: Zielfeld muss sich auf aktuellem Layout befinden

• Achtung: Codierung variiert von Desktop und iOS Gerät bei Import, LF sollten daher durch CR ersetzt werden.(Alternative: Informationen Base64-Codieren)

FileMaker Techniken für das iOS App SDK

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Sicherheit der Datenbankdateienin der iOS App

Nur weil Dateien nicht über eine GUI (Launch-Center) sichtbar sind,

bedeutet das nicht, dass sie besser geschützt sind!

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Die Datenbankdateien sind genauso zugänglich wie in FileMaker Go:

• Kopieren einer Datei (Datenbankdatei/PDF/Textdatei) über iTunes

• Import einer Datei in ein Containerfeld und Transfer auf FileMaker Server

• Bei direkten Zugriff auf ein Gerät können somit alle Dateien kopiert werden

Somit sollten unbedingt FileMaker Sicherheitsfunktionen in Betracht gezogen werden:

• Standard-Login mit reduzierten Rechten, läuft App nativ Re-Login mit normalem Account

• Zugriffsrecht [Full Access] entfernen

• Encryption At Rest (EAR) verwenden

Sicherheit der Datenbankdateienin der iOS App

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Sicherheit der Datenbankdateienin der iOS App

Bei direkten Zugriff auf eine IPA-Datei:

• Eine IPA-Datei ist ein ZIP-Archiv, das entpackt werden kann und somit kann einfach die eingebundene Lösungsdatei heraus kopiert werden.

• Diese Datei könnte letztendlich dann auch in einer fremden Lösung veröffentlicht werden.

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Sicherheit der Datenbankdateienin der iOS App

Mögliche Gegenmaßnahmen:

BundleID überprüfen

• Diese kann durch Import der nachfolgenden Datei überprüft werden:"file:" & Austauschen( Hole( DokumentenPfad ); "/Documents/"; "/Library/Preferences/" ) & $BundleID & „.plist“

Bei Fehler 1631 ist die plist-Datei nicht vorhanden und die Datenbankdatei ist somit in einer anderen App geöffnet worden.(iOS App SDK 15.0.2 sollte Fehler 0 ergeben, wenn Datei vorhanden ist)

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

DEMO 4

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Vorbereitung der Datenbankdateien

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Dateioptionen einstellen:

Werkzeugleisten ausblenden

• Je nach Lösung kann es sinnvoll sein, die Werkzeugleisten dauerhaft auszublenden.

Vorbereitung der Datenbankdateien

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Dateioptionen einstellen:

Startscript angeben

• Script-Trigger einstellen „BeiErstemFensterÖffnen“

Endescript angeben

• Script-Trigger einstellen „BeiLetztemFensterSchließen“(z.B. für Rücksetzen von global gespeicherten Feldwerten am Desktop)

Vorbereitung der Datenbankdateien

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Im Startscript:

• Zusätzlich kann hier beim Scriptschritt „Werkzeugleisten ausblenden“ die Option „Mit Datensatz-bearbeiten-Werkzeugleiste“ gewählt werden.

• AnwenderAbbruchZulassen setzen [ Aus ]Sonst kann Script durch Tastendruck beim Starten unterbrechen, unter Umständen kann App dann gar nicht mehr neu gestartet werden!

Vorbereitung der Datenbankdateien

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Im Startscript:

• Wenn die eigentliche Lösungsdatei erfolgreich geöffnet wurde, kann am Ende des Startscripts die Launcher Datei geschlossen werden:Datei schließen [ Aktuelle Datei ]

Das hat den Vorteil, dass beim Beenden der Lösung automatische wieder die Launcher Datei geöffnet wird und dessen Startscript ausgeführt wird.

Vorbereitung der Datenbankdateien

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Erweiterte Zugriffsberechtigung:

fmreauthenticate10 (Wert bis max 10080 = 1 Woche)

• Die Zahl bedeutet, dass sich der Anwender nach n Minuten nach Verlassen der App erneut anmelden muss.

Vorbereitung der Datenbankdateien

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Erweiterte Zugriffsberechtigung:

fmreauthenticate10 entfernen

• Um dies zu Verhindern kann das Zugriffsrecht entfernt werden

Vorbereitung der Datenbankdateien

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Sonstiges zu beachten:

Offene Datensätze:

• Da die iOS App vom Anwender jederzeit beendet werden kann,sollte die Benutzer-Schnittstelle so gestaltet sein, dass der Anwender Dateneingaben aktiv bestätigt bzw. speichert.

Vorbereitung der Datenbankdateien

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

DEMO LÖSUNGEN

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Fragen?

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Weiterführende Links

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Weiterführende LinksFileMaker Downloads und Dokumentation

• iOS App SDK (FileMaker Developer Subscription)https://community.filemaker.com/docs/DOC-6672

• iOS App SDK guidehttps://fmhelp.filemaker.com/docs/15/en/appsdk/

• Clarification of iOS App SDK Support (FileMaker Developer Subscription)https://community.filemaker.com/docs/DOC-7387

Hilfsmittel für Grafik-Erstellung

• MakeAppIconhttp://makeappicon.com

• iOS Human Interface Guidelineshttps://developer.apple.com/ios/human-interface-guidelines/

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Weiterführende LinksVerteilung

• Apple Volume Purchase Program (VPP) for Businesshttp://www.apple.com/business/vpp/

• Mobile device management (MDM)https://developer.apple.com/programs/enterprise/http://www.apple.com/iphone/business/it/http://www.appconfig.org

• vmware Air-Watchhttp://www.air-watch.com

• Bushelhttps://www.bushel.com

• ManageEngine - Mobile Device Manager Plushttps://www.manageengine.com/mobile-device-management/

7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016

FileMaker iOS App SDK | Robert Kaiser, www.karo.at

Vielen Dank unseren Sponsoren

Danke für das Bewerten dieses Vortrages