Wie sich iPad und iPhone in FileMaker erkennen lassen


10. Februar 2021In FM Starter, TippsBy Karsten Risseeuw1 Minutes

Erstellt man eine Datei für iOS-Geräte, muss man dort vermutlich unterscheiden können zwischen iPhone und iPad. Beim Starten der Datei muss man eine Abfrage erstellen, aufgrund dessen ein Layout für iPhone oder iPad angesteuert wird. Dies soll möglich sein mit der Statusabfrage:

Hole ( ProgrammVersion )

Läuft die Datei auf dem iPhone, ist das Resultat «Go», während es auf dem iPad das Resultat «Go_iPad» zurückmeldet. Eine komplette Abfrage lässt sich laut der FileMaker Hilfe wie folgt erstellen:

MusterAnzahl ( Hole ( ProgrammVersion ) ; “Go” ) für iPhone, und
MusterAnzahl ( Hole ( ProgrammVersion ) ; “Go_iPad” ) für iPad

Baut man diese Abfrage ein, zeigt sich, dass dies nicht gut funktioniert. Beide Anfragen erkennen nur ein iPhone. Das ändert sich auch nicht, wenn man statt “Go_iPad” nur noch “iPad” für die Mustererkennung eingibt.

Eine einfache Lösung besteht darin, lediglich für iOS zu suchen und dann pro Abfrage explizit das Gerät zu eruieren:

Hole ( Gerät ) = 4, für iPhone
Hole ( Gerät ) = 3, für iPad

Dies funktioniert tadellos.

Anpassung für FM Starter

Im nächsten Update von FM Starter wird dies für die Navigation angepasst. Wer das heute bereits anpassen möchte, muss dies hier anpassen:

Script: GN GetSystemLayout, line 25.

Let (
a = Get ( ApplicationVersion ) ;

Case (
PatternCount ( a ; “Pro” ) ; 1 ;
Get ( Device ) = 4 ; 2 ;
Get ( Device ) = 3 ; 3 ;
PatternCount ( a ; “Web” ) ; 4 ;
1 )
)