iOS 7に対応したFileMaker Go 12.0.8が公開

FileMaker Go 12のバージョン12.0.8が公開されました。バージョン12.0.8では、いくつかの問題が修正された他、iOS 7に関連する互換性の問題が解決されています。

iOS 7ではMACアドレスを端末の特定用途に取得できなくなり、iOS 7でFileMaker Goを使用した場合にGet ( システムNICアドレス )関数はすべての端末で「02:00:00:00:00:00」を返すようになります。この関数はiOS 7で非推奨となり事実上使えなくなります。

さらに、FileMaker Go 12.0.7およびそれ以前では、iOS 7の環境下でGet ( 持続 ID )関数の戻り値はすべての端末で同じ値(8D05FB2A7CDC7D29F52C251CC4D9C17F)を返します。これはGet ( 持続 ID )関数がiOSではMACアドレスをベースにハッシュ値が生成されていたことに起因します。

FileMaker Go 12.0.8ではiOS 7環境下におけるGet ( 持続 ID )関数の挙動が変更されている

FileMaker Go 12.0.8ではiOS 7環境下におけるGet ( 持続 ID )関数の挙動が変更されている

FileMaker Go 12.0.8におけるGet ( 持続 ID )関数の戻り値は、iOS 6では今までと同様MACアドレスベースの値を返しますが、iOS 7ではidentifierForVendorに基づく値を返すようになりました。Get ( 持続 ID )関数を使用していてiOS 7に更新する場合には、今回公開されたFileMaker Go 12.0.8に更新する必要がありますが、Get ( 持続 ID )関数の戻り値はiOS 7では値が変わるのでその点も留意する必要があります。また、identifierForVendorは場合によって変わるケースがあるのでその点も考慮しなければいけません。

iOS 7での挙動の違いは、Get ( システムNICアドレス )関数やGet ( 持続 ID )関数の使い方によっては深刻な状況(セキュリティ問題)を引き起こす可能性があります。FileMaker Go 12.0.7およびそれ以前ではiOS 7でデータベースファイルを使用できないようにするといった対策や、全iOS端末におけるバージョン12.0.8へのアップデート、Get ( システムNICアドレス )関数の代わりにGet ( 持続 ID )関数やGet ( UUID )関数を使用した実装に変更する、および関数の戻り値が変わったことによってデータベースへの再登録作業などが改めて必要になることなどが予想されます。iOS 7にバージョンアップする際には、上記を踏まえた事前の検証作業が必須であるので注意が必要です。

[関連] ・iOS 7で Get (持続ID) と Get (システムNICアドレス) を使用したときの動作の違い(FileMaker ナレッジベース) ・Behavior differences of Get (PersistentID) and Get (SystemNICAddress) when used with iOS 7(FileMaker Knowledge Base) ・iOS 7ではGet ( システムNICアドレス )関数とGet ( 持続 ID )関数の挙動が従来と変わります(FMGo情報局) ・FileMaker UG 全国合同オフラインミーティング 2012 発表資料「Get ( 持続 ID ) 関数の罠」(株式会社エミック)