Skip to content

iOS5のUDID問題のとりあえず解決法

2012年2月13日

コメントで指摘をいただいたので、UUIDについて調べた。

objective-CでUUIDを生成するには、

    CFUUIDRef uuidObj = CFUUIDCreate(nil);
    NSString *uuidString = (NSString*)CFUUIDCreateString(nil, uuidObj);
    CFRelease(uuidObj);

こうすればとれるみたい。

毎回違うものがとれるみたい。UserDefaultに保存して使ったりしてもかぶることはないんかな?もうちょい調べないかんな。

参考

https://github.com/xcatsan/SampleCode/tree/master/UUIDSample/

DeviceIdentiferを使おうとすると、deplicatedが出てきて警告される。

これはどうやら、UDIDで判別するんじゃなくって、自分のサービスで判別するID作ってそっちで管理しなよ。という意向でそうなったらしい。

一応使えはするけど、いつ使えなくなるのか怖い所でもあるので、以下のような物を見つけました。

https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5

これは、iPhoneのMacアドレスをハッシュ化したもので、これをUDIDの代わりに使うというモノ。

Classesの中にある4つのファイルをプロジェクトに追加して、

#import “UIDevice+IdentifierAddition.h”

して

[[UIDevice currentDevice] uniqueGlobalDeviceIdentifier]

 

すると得られる。

広告

From → iPhone開発

4件のコメント
  1. がると申します。
    「Macアドレスをハッシュ化したもの」をUDIDの代わりに使うのは、基本的な「UDIDを使うことがなぜまずいのか?」の部分が全くヘッジされないので、なさらないことをおすすめいたします。
    代わりに、UUIDのバージョン4
    http://ja.wikipedia.org/wiki/%E6%B1%8E%E7%94%A8%E4%B8%80%E6%84%8F%E8%AD%98%E5%88%A5%E5%AD%90
    >>
    UUIDは16バイトの数値で表され、「550e8400-e29b-41d4-a716-446655440000」のように表現する。よく利用されるのは乱数に基づくUUID(UUID version 4)で、この形式のUUIDは2122通り(およそ5.3×1036通り)存在する。
    <<
    をお使いになることをおすすめいたします。

  2. UDIDのお話。何一つとして、全然と全くもって「iOS5のUDID問題のとりあえず解決法」になんかなってない。 : http://t.co/MZ1uRB6a gallu 2012/02/14 23:47:40

    です。UUIDを生成してお使いください

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。