Различия между UDID и UUID
Некоторые люди говорят UDID (Unique Device IDentifier)
а некоторые говорят UUID (Universally Unique IDentifier)
, Они одинаковые или нет? Каковы различия между ними?
5 ответов
UUID (универсальный уникальный идентификатор) для каждого приложения. идентифицирует приложение на устройстве. Пока пользователь не удалит приложение полностью, этот идентификатор будет сохраняться между запусками приложения и, по крайней мере, позволит вам идентифицировать того же пользователя с помощью определенного приложения на устройстве. К сожалению, если пользователь полностью удаляет, а затем переустанавливает приложение, идентификатор изменится.
UDID (уникальный идентификатор устройства) Последовательность из 40 шестнадцатеричных символов, которые однозначно идентифицируют устройство ios. Это значение можно получить через iTunes или найти с помощью UIDevice -uniqueIdentifier. Получено из деталей оборудования, таких как MAC-адрес.
Вам лучше пройти через это - http://nshipster.com/uuid-udid-unique-identifier/
UUID (универсальный уникальный идентификатор): последовательность из 128 битов, которая может гарантировать уникальность в пространстве и времени, определенная в RFC 4122.
UDID (уникальный идентификатор устройства): последовательность из 40 шестнадцатеричных символов, которые однозначно идентифицируют устройство iOS (номер социального страхования устройства, если хотите). Это значение можно получить через iTunes или найти с помощью UIDevice -uniqueIdentifier. Получено из деталей оборудования, таких как MAC-адрес.
Apple, очевидно, начинает закрывать доступ к UDID (уникальный идентификатор устройства) в iOS5. В любом случае, лучшее, что вы можете теперь сделать для целей идентификации, - это использовать UUID (универсальный уникальный идентификатор). Это должно быть для каждого приложения. То есть больше нет возможности идентифицировать устройство, но вы можете идентифицировать приложение на устройстве. Пока пользователь не удалит приложение полностью, этот идентификатор будет сохраняться между запусками приложения и, по крайней мере, позволит вам идентифицировать того же пользователя с помощью определенного приложения на устройстве. К сожалению, если пользователь полностью удаляет, а затем переустанавливает приложение, идентификатор изменится, но это лучшее, что может сделать любой в будущем.
Начиная с iOS 5, Apple устарела UIDevice uniqueIdentifier, это означает, что традиционный способ получения уникального идентификатора каждого устройства iOS теперь не будет работать, т.е. [[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, который является уникальным идентификатором устройства, применяется в 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)( вики).
Вы можете получить 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 вышеуказанный метод вернет то же значение для разностного устройства.
Есть много способов получить уникальные идентификаторы в ссылке