一些人说 UDID (唯一设备标识符)
,而有些人则说UUID (通用唯一标识符)
。它们是相同的吗?它们之间有什么区别呢?
identifierForVendor()
。更多信息请参考这篇SO帖子https://dev59.com/ylwZ5IYBdhLWcg3wROeN#31652454。 - RugmangathanUUID (通用唯一识别码):由RFC 4122定义的一串128位比特序列,可以保证在空间和时间上的唯一性。
UDID (设备唯一标识符):由40个十六进制字符组成的序列,可唯一标识iOS设备(如果您愿意,可以将其视为设备的社会安全号码)。此值可通过iTunes检索或使用UIDevice - uniqueIdentifier查找。派生自硬件详细信息,如MAC地址。
[[UIDevice currentDevice] uniqueIdentifier]
在iOS 5及以上版本中将无法使用。- (NSString *)createNewUUID {
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [(NSString *)string autorelease];
}
UDID:
[[UIDevice currentDevice] uniqueIdentifier]
)。UUID是随机数,在每次创建时都会给你一个随机字符串(CFUUIDRef theUUID = CFUUIDCreate(NULL);
)。 - huyncUDID是唯一设备标识符,应用于iTunes,用于管理您的苹果开发证书中的设备。可以通过以下代码在iOS5 SDK中获取:
[UIDevice currentDevice] uniqueIdentifier];
define is:
@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,即通用唯一识别码,是软件构建中使用的标识符标准,由开放软件基金会(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设备上,以上方法将返回不同设备相同的值。
有许多方法可以获取唯一标识符。