Rug*_*han 79
UUID(通用唯一标识符)基于每个应用程序.标识设备上的应用.只要用户没有完全删除应用程序,那么此标识符将在应用程序启动之间保持不变,并且至少允许您使用设备上的特定应用程序识别同一用户.不幸的是,如果用户完全删除然后重新安装应用程序,那么ID将会更改.
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显然已开始删除iOS5中对UDID(Unique Device IDentifier)的访问权限.无论如何,您现在可以做的最好的识别是使用UUID(通用唯一标识符).这必须基于每个应用程序.也就是说,无法再识别设备,但您可以识别设备上的应用程序.只要用户没有完全删除应用程序,那么此标识符将在应用程序启动之间保持不变,并且至少允许您使用设备上的特定应用程序识别同一用户.不幸的是,如果用户完全删除然后重新安装应用程序,那么ID将会改变,但这是任何人都可以做的最好的事情.
从 iOS 5 开始,Apple 已弃用 UIDevice uniqueIdentifier ,这意味着获取每个 iOS 设备的唯一 id 的传统方式现在将不起作用,即。
[[UIDevice currentDevice] uniqueIdentifier] 从 iOS 5 及更多版本失败。
因此,对于 UUID 的替代方案,我们可以使用 Apple 的 CFUUID 类来为设备创建唯一的 id。但是,我们真的需要记住,这个 inbuild 类将创建随机数,因此它们将在每次调用时返回不同的 id。不要使用 NSUserDefaults 来存储它,最好的方法是使用 Keychain。
因此,在这里我为您提供使用它的最佳方式,以便将其用作您设备的唯一密钥。
- (NSString *)createNewUUID {
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [(NSString *)string autorelease];
}
Run Code Online (Sandbox Code Playgroud)
你做了:

| 归档时间: |
|
| 查看次数: |
57175 次 |
| 最近记录: |