Различия между UDID и UUID [дубликат]

этот вопрос уже есть ответ здесь:

некоторые люди говорят UDID (Unique Device IDentifier) а некоторые говорят UUID (Universally Unique IDentifier). Они одинаковы или нет? В чем разница между ними?

5 ответов


UUID (универсальный уникальный идентификатор) на основе каждого приложения. идентифицирует приложение на устройстве. До тех пор, пока пользователь не полностью удалит приложение, этот идентификатор будет сохраняться между запусками приложения и, по крайней мере, позволит вам идентифицировать одного и того же пользователя с помощью определенного приложения на устройстве. К сожалению, если пользователь полностью удалит, а затем переустановит приложение, идентификатор изменится.

UDID (уникальный идентификатор устройства) Последовательность 40 шестнадцатеричные символы, однозначно идентифицирующие устройство ios. Это значение можно получить через iTunes или найти с помощью UIDevice-uniqueIdentifier. Производный от деталей оборудования, таких как MAC-адрес.


Apple, по-видимому, начинает удалять доступ к UDID (уникальный идентификатор устройства) в iOS5. В любом случае, лучшее, что вы можете сделать для целей идентификации, - это использовать UUID (универсальный уникальный идентификатор). Это должно быть на основе каждого приложения. То есть, больше нет способа идентифицировать устройство, но вы можете идентифицировать приложение на устройстве. До тех пор, пока пользователь не полностью удалит приложение, этот идентификатор будет сохраняться между запусками приложений и, по крайней мере, позволит вам идентифицировать тот же пользователь, использующий определенное приложение на устройстве. К сожалению, если пользователь полностью удалит, а затем переустановит приложение, идентификатор изменится, но это лучшее, что можно сделать в будущем.


вам лучше пройти через это- http://nshipster.com/uuid-udid-unique-identifier/

UUID (универсальный уникальный идентификатор): последовательность 128 бит, которая может гарантировать уникальность в пространстве и времени, определяемая RFC 4122.

UDID (уникальный идентификатор устройства): последовательность из 40 шестнадцатеричных символов, однозначно идентифицирующих устройство iOS (номер социального страхования устройства, если вы будет.) Это значение можно получить через iTunes или найти с помощью UIDevice-uniqueIdentifier. Производный от деталей оборудования, таких как MAC-адрес.


поскольку с iOS 5 Apple устарела uidevice uniqueIdentifier, это означает, что традиционный способ получения уникального идентификатора каждого устройства iOS теперь не будет работать ie. [[UIDevice currentDevice] uniqueIdentifier] сбой из iOS 5 и более.

поэтому для альтернативы UUID мы можем использовать класс CFUUID Apple для создания уникального идентификатора для устройства. Но нам действительно нужно иметь в виду, что этот встроенный класс создаст случайные числа, чтобы они возвращали разные идентификаторы при каждом вызове. Не использовать NSUserDefaults для его хранения, лучший способ - использовать брелок.

Итак, здесь я даю вам лучший способ использовать его, чтобы использовать его в качестве уникального ключа для вашего устройства.

- (NSString *)createNewUUID {

    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    return [(NSString *)string autorelease];
}

UDID:

http://whatsmyudid.com/

enter image description here


UDID, который является уникальным идентификатором устройства, примененным в iTunes, управляет устройствами в сертификате разработки apple. его можно получить следующим кодом в iOS5 SDK:

[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, который является универсальным уникальным идентификатором, стандартом идентификатора, используемым в программном обеспечении, стандартизированным Open Software Foundation (OSF) как часть распределенной вычислительной среды (DCE) (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, выше метод вернет то же значение для разностного устройства.

существует много методов для получения уникальных идентификаторов в ссылке