5 返信 最新の回答 日時: Sep 22, 2014 3:44 AM ユーザー:FMJ_Support

    Get ( 持続 ID ) の値が仕様と異なる

    fukky

      概要

      Get ( 持続 ID ) の値が仕様と異なる

      製品

      FileMaker Go

      バージョン

      13.0.5

      オペレーティングシステムのバージョン

      iOS 8

      問題の内容

      FileMaker Go で Get ( 持続 ID ) 関数で取得できる値が、
      FileMaker 13.0.4 と アップデートした FileMaker Go 13.0.5 で異なる。

      ただし、FileMaker Go 13 以外の他の FileMaker 社のアプリケーション(例、FileMaker Go 12)がインストールされている場合は、FileMaker Go 13.0.4 と アップデートした FileMaker Go 13.0.5 で同じ値になる。

      Get ( 持続 ID ) が元にしている「identifierForVendor」はベンダー製のアプリケーションが最初にインストールされた際に生成され、ベンダー製のアプリケーションがすべて削除されると削除されるようであるが、13.0.4からのアップデートではアップデートと見せかけて13.0.4が削除され13.0.5がインストールされるような動きをするのではないか?
      他のFileMaker社製品が存在する場合には値が変わらないのは上記の仕様に照らすと辻褄が合うように考えられる。

      問題の再現方法

      FileMaker社製のアプリケーションが入っていない状態の iOS 8 の端末にFileMaker Go 13.0.4 をインストールし、Get ( 持続 ID ) の値を取得する。
      AppStore のアップデートから FileMaker Go 13.0.5 にアップデートし、 Get ( 持続 ID ) の値を取得する。
      2つの値を比較する。

      予想された結果

      Get ( 持続 ID ) は異なる値を返す。

      実際の結果

      Get ( 持続 ID ) は異なる値を返す。

      設定情報

      他の FileMaker 社製のアプリケーションをインストールしておく。
      (新規ユーザーの場合は難しい)

      対処方法

      新しいGet ( 持続 ID ) を正とする。

        • 1. Re: Get ( 持続 ID ) の値が仕様と異なる
          Shin

          iOSでのアプリ配布では、アップグレード,という概念が元々無いので,古い物の削除、新しい物のインストールになるのは、当初から知られています。これは、iOSの仕組みで仕方ない事でしょう。

          持続IDは、インストールした時のタイムスタンプも見ている様ですので、他のOSでも再インストールすると違う値が返る様になります。iOS上では、バージョン番号と合わせて管理しておく事で逃げておかないと仕方ないでしょうね。

          • 2. Re: Get ( 持続 ID ) の値が仕様と異なる
            fukky

            iOS における 持続 ID の仕様は下記の通りですね。
            この問題を理解するために「identifierForVendor」プロパティの値について正しい認識を持っていた方がいいでしょう。

            http://filemaker-jp.custhelp.com/app/answers/detail/a_id/12573/

            端末を識別するために利用すると謳われている以上は、
            どのような場合にリセットされるかの仕様を明らかにする必要があるでしょう。

            FileMaker Go 12 から 13 へといったメジャーアップデートでは変更になりますが
            FileMaker Go 13.0.4 から 13.0.5 へのマイナーアップデートでは変更にならないといった仕様ではなかったでしょうか。

            この件についての報告は1度目ではありませんが、以前はそのような回答でした。

            検証を続けていくと iOS 8 でも 13.0.4 から 13.0.5 へのアップデートでも 持続ID が変化しない場合があり、
            確率のみで考えると「変わらない」方が多いです。

            端末の識別を組み込んだソリューションを利用する場合、
            1台でも変化する可能性があるなら持続 ID 単独では端末の識別のためには利用できないため、
            別の手法を追加して開発する必要があります。

            本来の仕様と異なるのが「説明」であれば説明を改める必要があり、
            「実装」であれば修正を行う必要があるのではないでしょうか。

            現場では「仕方がない」がまかり通らないことはこちらをご覧になる皆さんであればご存知でしょう。

            • 3. Re: Get ( 持続 ID ) の値が仕様と異なる
              Shin

              タイムスタンプをあわてて書いてしまいましたが訂正しておきます。

              サンプル数は少ないですが、私の環境では、FMGo 11などがインストールしてある環境では変化が無く、FMGo が1本だけインストールしてある端末では、変化しているようです。

              上のメジャー・マイナーアップグレードの際の変化についての仕様と書いておられる情報はどこにありますか。

              • 4. Re: Get ( 持続 ID ) の値が仕様と異なる
                fukky

                マイナーアップデートにおける変化について明確に言及しているソースはありません。

                強いていうなれば前述のURLにおいて、
                 iOS デバイスに最低でも 1 つの FileMaker, Inc. アプリケーションがインストールされている限り
                がアップデートの対象となるアプリケーションを含むか否かで解釈が変わるでしょう。

                なお、どこでどなたにという情報は明かすことはできませんが、
                iOS 7 において、FileMaker Go のマイナーアップデートでは 持続 ID は変化しないとの回答を頂いています。

                こちらでも FileMaker Go 12 以前のアプリケーションがインストールされている端末では変化しませんでした。

                iOS 8 で FileMaker Go 13 のみがインストールされた端末では、
                アップデートで値が変化する場合と変化しない場合があり、条件が定まりません。
                ※同一端末でも発生したりしなかったりです。

                検証を重視する方には発生しないことの方が多いことを挙げる方もいらっしゃいますが、
                持続 ID を利用している現場では1回変わった時点で同じ端末としては認識できなくなるので大問題ですね。

                マイナーアップデートでの変化が起きるとしても、
                持続 ID を利用しないで端末の識別をする対策はできているので困りはしませんが、
                持続 ID には端末の識別に使えるがアップデートで変わるので使える条件は限られるという説明は必要でしょう。

                • 5. Re: Get ( 持続 ID ) の値が仕様と異なる
                  FMJ_Support

                  fukky 様

                  平素は弊社製品をご愛顧いただき、誠にありがとうございます。

                  当方で確認できたデバイスの数が多くないせいもあるかと思われますが、現時点で、弊社製のアプリとして FileMaker Go 13 のみがインストールされた iOS 8 デバイスで、13.0.4 から 13.0.5 へのアップデートにより Get ( 持続 ID ) が変化する状況は確認できておりません。確認できているデバイスは iPad mini (2012), iPad (3rd), iPhone 5s などで、Mac 上の iTunes 経由で iOS のバージョンアップ後、デバイスのリセットを行ったものです。

                  同一の iOS アプリで、マイナーバージョンのアップデートによりGet ( 持続 ID ) の値は変化しないという認識が、iOS アプリケーションの開発仕様上はあっていると思われますが、 Get ( 持続 ID ) が取得する値は FileMaker Go が生成するものではなく、iOS 側で管理されておりますので、現時点では値の変化が発生されている理由がご呈示できない状況です。

                  fukky 様を始め、市場において iOS 8 では Get ( 持続 ID ) の値にアップデートによる変化がある不具合があることを、開発部門に報告させていただきます。

                  なお、上記の通り現時点で弊社からご提示できる回避方法が無いため、アプリのアップデート後には、Get ( 持続 ID ) の情報の更新を行っていただくことが回避策になると思われます。

                  ご不便をおかけし誠に恐れ入りますが、何卒よろしくお願い申し上げます。

                  ファイルメーカー株式会社

                  TSGalJ