このバージョンは @Platform 関数が拡張され、iPhone と iPad を区別することができる、と説明されています。
これを試してみました。
まずは、ビューのアクションボタンに次の式を設定しました。
@Prompt([Ok];"Formula";@Platform([Specific]))
これを実行してみると、iPad と iPhone のどちらも "iOS" とだけ表示されます。
「これはバグではないか?」と思い、フィードバックしたところ、すぐさまメールで返事がありました。
回答によれば、@Platform([Specific]) の戻り値は次のようなテキストリストだというのです。
PrimaryOSName | for example, iOS |
PrimaryOSVersionName | for example, 12.4 |
iOS Model Type | either iPad or iPhone |
Apple Hardware Identifier | for example, iPad8.4 |
さらに次の式を iPhone で実行すれば "Platform is iPhone" と表示されると。
@If(@Platform([Specific])="iPhone";@Prompt([Ok]; "Formula"; "Platform is iPhone");@Prompt([Ok]; "Formula"; "Platform is NOT iPhone"))
よくヘルプを読んでみるとバグでもなんでもなく「文字列リストが返されます」と書いてありました... orz
気をとりなおして、先のボタンの式を次のように書き換えてみました。
@Prompt([Ok];"Formula";@Implode(@Platform([Specific]);@NewLine))
そして表示されたプロンプトがこちらです。
iPhone |
iPad |
Windows 10 |
おかげで私の所有する端末が古い機種ということがバレバレです(笑)
V11 では GPS にも対応するとのことですし、まだまだ Nomad 対応アプリの開発を楽しめそうです。
2020/10/3追記
その後、機種変更したし iOS や HCL Nomad のバージョンもずいぶん上がったので試してみたところ、テキストリストの3番目の値は「phone」や「tablet」などと表示されるようになり、4番目も数字だけの表記にかわっていました(下図)。
iPhone |
iPad |
0 件のコメント:
コメントを投稿