[〜#〜] udid [〜#〜](Unique Device IDentifier)
と言う人もいます[〜#〜] uuid [〜#〜](Universally Unique IDentifier)
。それらは同じですか?それらの違いは何ですか?
ID(Universally Unique IDentifier)アプリごとです。デバイス上のアプリを識別します。ユーザーがアプリを完全に削除しない限り、この識別子はアプリの起動間で保持され、少なくともデバイス上の特定のアプリを使用して同じユーザーを識別できます。残念ながら、ユーザーがアプリを完全に削除してから再インストールすると、IDが変更されます。
DID(Unique Device Identifier) iOSデバイスを一意に識別する40個の16進文字のシーケンス。この値は、iTunesから取得するか、UIDevice -uniqueIdentifierを使用して検索できます。 MACアドレスなどのハードウェアの詳細から派生。
AppleはiOS5のUDID(Unique Device IDentifier)へのアクセスを削除し始めているようです。いずれにしても、識別の目的でできる最善の方法は、UUID(Universally Unique IDentifier)を使用することです。これはアプリごとでなければなりません。つまり、これ以上デバイスを識別する方法はありませんが、デバイス上のアプリを識別することができます。ユーザーがアプリを完全に削除しない限り、この識別子はアプリの起動間で保持され、少なくともデバイス上の特定のアプリを使用して同じユーザーを識別できます。残念ながら、ユーザーがアプリを完全に削除してから再インストールすると、IDが変更されますが、これは誰でもできることです。
これを実行する方が良い- http://nshipster.com/uuid-udid-unique-identifier/
[〜#〜] uuid [〜#〜](Universally Unique Identifier):定義された空間と時間にわたる一意性を保証できる128ビットのシーケンス RFC 4122 によって。
[〜#〜] udid [〜#〜](一意のデバイス識別子):iOSデバイスを一意に識別する40個の16進文字のシーケンス(デバイスの必要に応じて、社会保障番号)。この値は、iTunesから取得するか、UIDevice -uniqueIdentifierを使用して検索できます。 MACアドレスなどのハードウェアの詳細から派生。
IOS 5以降、AppleはUIDevice uniqueIdentifierを非推奨にしました。つまり、各iOSデバイスの一意のIDを取得する従来の方法は現在動作しません。つまり[[UIDevice currentDevice] uniqueIdentifier]
はiOS 5以降では失敗します。
UUIDの代替として、デバイスの一意のIDを作成するためにAppleのCFUUIDクラスを使用できます。しかし、このinbuildクラスはランダムに作成することに注意する必要がありますNSUserDefaultsを使用して保存するのではなく、キーチェーンを使用するのが最善の方法です。
そのため、ここでは、デバイスの一意のキーとして使用するための最良の使用方法を説明します。
- (NSString *)createNewUUID {
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [(NSString *)string autorelease];
}
UDID:
ITunesに適用されるUDID(Unique Device Identifier)は、Apple開発証明書。iOS5SDKの次のコードで取得できます。
[UIDevice currentDevice] uniqueIdentifier];
定義は次のとおりです。
@property(nonatomic,readonly,retain) NSString *uniqueIdentifier __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_5_0); // a string unique to each device based on various hardware info.
UUIDは、Universally Unique Identifierであり、ソフトウェア構築で使用される識別子標準であり、分散コンピューティング環境(DCE)の一部としてOpen Software Foundation(OSF)によって標準化されています( wiki )。
次のコードでUUIDを取得できます。
-(NSString*) uuid {
CFUUIDRef puuid = CFUUIDCreate( nil );
CFStringRef uuidString = CFUUIDCreateString( nil, puuid );
NSString * result = (NSString *)CFStringCreateCopy( NULL, uuidString);
CFRelease(puuid);
CFRelease(uuidString);
return [result autorelease];
}
ただし、iOS7デバイスでは、上記のメソッドは異なるデバイスに対して同じ値を返します。
link で一意の識別子を取得する多くの方法があります