Advertisement

FMK 2016 - Robert Kaiser - FileMaker iOS App SDK

Verein FM Konferenz
Oct. 16, 2016
Advertisement

More Related Content

Slideshows for you(20)

Advertisement

Similar to FMK 2016 - Robert Kaiser - FileMaker iOS App SDK(20)

More from Verein FM Konferenz(20)

Advertisement

FMK 2016 - Robert Kaiser - FileMaker iOS App SDK

  1. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 www.filemaker-konferenz.com Ein Vortrag von Robert Kaiser FileMaker iOS App SDK
  2. 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
  3. 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
  4. 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
  5. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at FileMaker iOS App SDK
  6. 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) erstellt
 und anschließend verteilt werden. Was ist das iOS App SDK?
  7. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at • Mac • XCode
 https://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
  8. 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“
  9. 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
  10. 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
  11. 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
  12. 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:
 NSCameraUsageDescription
 NSPhotoLibraryUsageDescription Diese Erklärungstexte erscheinen, wenn die iOS App auf die Kamera bzw. auf die Fotobibliothek zugreift.
 Vorbereitung und Erstellung
  13. 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
  14. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Ausführen der nativen App
  15. 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
  16. 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
  17. 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 …
  18. 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 …
  19. 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
  20. 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
  21. 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
  22. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Verteilung von mobilen
 FileMaker Datenbanklösungen:
 Datei vs App
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at iOS App SDK – Apps verteilen Zusä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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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!
  37. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at iOS App SDK – Apps verteilen
  38. 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
  39. 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
  40. 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
  41. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Ablauf bei Veröffentlichung 
 einer iOS App
  42. 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
  43. 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
  44. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at FileMaker Lösungen
 mit dem iOS App SDK
  45. 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!
  46. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Die wichtigsten Zutaten: Testen, testen, testen…
  47. 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
  48. 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
  49. 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
  50. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at DEMO 2
  51. 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
  52. 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
  53. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at DEMO 3
  54. 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
  55. 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
  56. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at DEMO
  57. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at FileMaker Techniken
 für das iOS App SDK
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Sicherheit der Datenbankdateien
 in der iOS App Nur weil Dateien nicht über eine GUI 
 (Launch-Center) sichtbar sind, 
 bedeutet das nicht, 
 dass sie besser geschützt sind!
  68. 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 Datenbankdateien
 in der iOS App
  69. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Sicherheit der Datenbankdateien
 in 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.
  70. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Sicherheit der Datenbankdateien
 in 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)
  71. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at DEMO 4
  72. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Vorbereitung der Datenbankdateien
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at DEMO LÖSUNGEN
  81. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Fragen?
  82. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Weiterführende Links
  83. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Weiterführende Links FileMaker Downloads und Dokumentation • iOS App SDK (FileMaker Developer Subscription)
 https://community.filemaker.com/docs/DOC-6672 • iOS App SDK guide
 https://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 • MakeAppIcon
 http://makeappicon.com • iOS Human Interface Guidelines
 https://developer.apple.com/ios/human-interface-guidelines/
  84. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker iOS App SDK | Robert Kaiser, www.karo.at Weiterführende Links Verteilung • Apple Volume Purchase Program (VPP) for Business
 http://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-Watch
 http://www.air-watch.com • Bushel
 https://www.bushel.com • ManageEngine - Mobile Device Manager Plus
 https://www.manageengine.com/mobile-device-management/
  85. 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
Advertisement