割とiOS関係者ではホットな話題かな~と思う、UIDeviceクラスのuniqueIdentifierが非推奨(deprecated)に指定されました。どのような背景でこれが非推奨に指定されたのかわかりませんが、これに対しての対応を迫られるアプリケーションは多そうですね。ってか、私が今作っているアプリも(ry

私の場合は自業自得なんですけどね。JailBreakされた端末でAPIをフックされたら成りすましが可能だ、ということ知っていてそれを行っていたのですかr・・・(ごめんなさい、ごめんなさい

さておき、ゲーム的な側面で言うとちょっとイヤーンな状態は少なからずあるような。というのも、アカウント用途ではなくて純粋に機体識別を行いたい場合に何を使おうか、と。例えば無料ゲームを出しておいて誘われたユーザからインセンティブを与える、なんてのはソーシャルゲームでは割と普通なんですがこれに関してはユーザではなくて機体識別で行いたい、とか。

  • UIID(Unique Installation Identifier)を使った場合はユーザが複製可能であるので、インセンティブが何回も発生可能であると思われる
  • Appleが推奨する、ゲームのアカウントとしてはGameCenterのplayerIdを使うと良い、というのもAppleID毎なので複製は可能であると思われる
  • ぢゃあ・・・・、結果的にインセンティブが過剰に増やされないためにはどぉすればいいんだろう→機体制約なら物理以上に出回ることはない、かもしれない

とまぁ、こんな感じかな、と思ったり。さておき、個人的に怖いのが開発者なら割とMACアドレスは取得可能で、それも機体を一意に断定できる固有IDだよね!!!、とかいってMACアドレスを乱用するアプリが増えないかなとか。最初に言ったようにuniqueIdentifierが非推奨になった経緯はさっぱりわかりませんが、UDIDより推測可能なんです、多分。(上位6バイトがベンダID、下位6バイトが連番なので)

セキュリティにそこまで詳しいわけでもないし、非推奨となった経緯を改めて知った上で今後どうするべきかを判断するのも有りなのかな、と思いつつアプリを作るしかないですね。