これはiOS7ではidentifierForVendor、iOS6などではMACアドレスのhashということでなんか微妙な感じ。
identifierForVendorは同じベンダーのアプリが1つでもインストールされていれば変化しないけど
そのベンダーのアプリ全部削除すると、再度インストールするときには変化する。
あと、iOS6.0のidentifierForVendorではバグがあるとか。
今回欲しいのは、不変の端末IDではなくインストールのたびに変わるユニークIDだったので
下記のように.NETの機能を使うと良いみたい。
System.Guid guid=System.Guid.NewGuid();
string _uuid=guid.ToString();
string _uuid=guid.ToString();
36バイトの文字列が生成されます。
初回起動時に生成した文字列をローカルに保存しておきたいわけですが
PlayerPrefsクラスを使います。
//セーブする時
PlayerPrefs.SetString("uuid",_uuid);
PlayerPrefs.Save();
//ロードする時
string _uuid=PlayerPrefs.GetString("uuid");
iOSの場合、PlayerPrefsは /Library/Preferences に保存されるそうなので
iTunesのバックアップ対象になるはず。
コメント