web-dev-qa-db-ja.com

IOSデバイスのUDIDをプログラムで取得しますか?

IOSデバイスのUDIDをプログラムで取得したい。次のコードを使用して、iOSデバイスのUDIDを取得しています。

NSUUID *uuid = [NSUUID UUID];
NSString *uuidString = uuid.UUIDString;

ただし、出力はデバイスの実際のUDIDとは異なります。

16
Nishi Bansal
NSString* identifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; // IOS 6+
NSLog(@"output is : %@", identifier);

Swift 2.X(2.0からのすべてのバージョンの上にあるXの意味)

let identifier: String = UIDevice.currentDevice().identifierForVendor().UUIDString()
NSLog("output is : %@", identifier)

Swift3

let identifier = UIDevice.current.identifierForVendor?.uuidString

NSLog("output is : %@", identifier! as String)

追加 参照

AppleはiOS5のUDID(Unique Device IDentifier)へのアクセスを削除し始めているようです。いずれにしても、識別の目的でできる最善の方法は、UUID(Universally Unique IDentifier)を使用することです。これはアプリごとでなければなりません。つまり、もはやデバイスを識別する方法はありませんが、デバイス上のアプリを識別することはできます。ユーザーがアプリを完全に削除しない限り、この識別子はアプリの起動の間に保持され、少なくともデバイス上の特定のアプリを使用して同じユーザーを識別します。残念ながら、ユーザーがアプリを完全に削除してから再インストールすると、IDが変更されますが、これは誰でもできることです。

51
Anbu.Karthik