Posted at

Titanium.Platform.idの値はアプリに保存される(端末変更しても変わらない)

More than 5 years have passed since last update.

iOSの場合。Ti.Platform.idの値は、NSUserDefaultsに保存されていない場合にのみ、CFUUIDCreateによって生成される。そしてNSUserDefaultsに保存される。(SDKのソースより)

そのため以下の状態の場合、端末を変更してもTi.Platform.idが変わらない。


  1. 端末OLDでアプリAを実行する。アプリA内でTi.Platform.idを取得している。

  2. 端末NEWを購入し、端末OLDのバックアップをリストアする。当然アプリAもリストアされる。

  3. 端末NEWでアプリAを実行する。ただしアプリA内のTi.Platform.idの値は、リストアされたNSUserDefaultの値を利用するため、端末OLDと同じ値になる。

実験してもこの結果だったので、たぶんこの動きで正しい。分かってしまえば対処できるけど、UDIDの代替としてはちょっと?という動きだった。