1.14 跟踪用户
iOS 6高级开发手册(第4版)
跟踪是开发者的一种不幸的现实生活。Apple不赞成使用UIDevice属性,该属性提供了绑定到设备硬件的唯一标识符。Apple利用两个标识符属性取代UIDevice属性。它使用identifierForAdvertising属性返回当前设备所独有的一个特定于设备的字符串,并使用identifierForVendor属性提供一个绑定到每位应用程序供应商的字符串。无论使用的是哪个应用程序,这都应该会返回相同的唯一字符串,它不是顾客id。不同设备上的相同应用程序可以返回不同的字符串,就像应用程序可以来自不同的供应商一样。
这些标识符是使用新的NSUUID类构建的。可以在跟踪场景之外使用这个类,创建保证全球唯一的UUID字符串。Apple写道:“UUID(Universally Unique Identifier,通用唯一标识符),也称为GUID(Globally Unique Identifier,全局唯一标识符)或IID(Interface Identifier,接口标识符),是128位的值。UUID在空间和时间上都是唯一的,这是由于它结合了两个值,第一个值是生成它的计算机上所特有的,第二个值代表从1582年10月15日00:00:00起所经过的100纳秒数。”
UUID类方法可以根据需要生成一个新的RFC 4122v4 UUID。使用[NSUUID UUID]返回一个新实例(附带的好处是:它全都是大写的)。从此,可以获取UUIDString表示,或者通过getUUIDBytes:直接请求字节。
时间: 2024-11-19 00:10:06