もふもふ技術部

iOS, Objective-C でUUIDを取得(生成)する


環境
・iOS 6.1
・Xcode 4.6.3

端末のUDIDを取得するコードはdeprecated(非推奨)になっており、今年(2013年)からはリジェクト対象になっている模様。

代わりに個別の端末を判別にするのにUUIDを利用すべし、という公式アナウンス。UUIDは端末に振られているIDではなく、単に重複しないだろう十分な桁の乱数を返すもののようだ。

従来のUDID取得をやってみる

適当にSingle View ApplicationのViewControllerのviewDidLoadでやってみた。

ん?正しい値を返さなくなったっていうエントリみたことあるけど普通に正しいIDがとれたな。

UUIDを取得(生成)

取得と言いつつも実際には生成しているだけ。二度取得すると異なる値が返るので、一度取得した値はアプリ内で保持しておく必要があります。

今回はUUIDのみ保持するので、KeyValueでシンプルにデータ永続化できるNSUserDefaultsを使います。

iOSのデータ永続化については下記でいい感じにまとめられていました。参照されたし。
http://d.hatena.ne.jp/glass-_-onion/20110904/1315142404

こんな感じにすれば、常に初回取得したUUIDを返せます。
簡単ですね!

uuid_01

The following two tabs change content below.
原田 敦

原田 敦

日本CAWのエンジニア。もふもふ部の部長。得意分野はRuby on Railsを使った小規模WEBアプリケーションを高速で開発すること。週末の楽しみは一人お菓子パーティー。三度の飯より小動物をもふもふするのが好きです。