代码之家  ›  专栏  ›  技术社区  ›  Imran Qadir Baksh - Baloch

UDID和UUID之间的差异[重复]

  •  45
  • Imran Qadir Baksh - Baloch  · 技术社区  · 11 年前

    有人说 音频识别码 (Unique Device IDentifier) 有人说 UUID(UUID) (Universally Unique IDentifier) 。它们是否相同?它们之间有什么区别?

    5 回复  |  直到 10 年前
        1
  •  98
  •   Rugmangathan    11 年前

    UUID(通用唯一标识符) 基于每个应用。标识设备上的应用程序。只要用户没有完全删除应用程序,那么该标识符将在应用程序启动之间持续存在,并且至少可以让您识别使用设备上特定应用程序的同一用户。不幸的是,如果用户完全删除并重新安装应用程序,则ID将更改。

    UDID(唯一设备标识符) 唯一标识ios设备的40个十六进制字符序列。该值可以通过iTunes检索,也可以使用UIDevice-uniqueIdentifier查找。源自硬件细节,如MAC地址。

        2
  •  8
  •   Jeroen Vannevel luciomrx    11 年前

    你最好经历一下- http://nshipster.com/uuid-udid-unique-identifier/

    UUID(UUID) (通用唯一标识符):一个128位的序列,可以保证空间和时间的唯一性,由 RFC 4122 .

    音频识别码 (唯一设备标识符):一个由40个十六进制字符组成的序列,用于唯一标识iOS设备(如果您愿意,可以使用设备的社会安全号码)。该值可以通过iTunes检索,也可以使用UIDevice-uniqueIdentifier查找。源自硬件细节,如MAC地址。

        3
  •  5
  •   Gajendra Rawat    11 年前

    苹果显然开始删除iOS5中UDID(唯一设备标识符)的访问权限。在任何情况下,出于识别目的,您现在所能做的最好的就是使用UUID(通用唯一标识符)。这必须基于每个应用程序。也就是说,无法再识别设备,但您可以识别设备上的应用程序。只要用户没有完全删除应用程序,那么该标识符将在应用程序启动之间持续存在,并且至少可以让您识别使用设备上特定应用程序的同一用户。不幸的是,如果用户完全删除并重新安装该应用程序,则ID将发生更改,但这是任何人今后所能做的最好的选择。

        4
  •  5
  •   codercat Piyush Dubey    11 年前

    从iOS 5开始,苹果就不推荐使用UIDevice uniqueIdentifier,这意味着获取每个iOS设备的唯一id的传统方法现在不起作用,即。 [[UIDevice currentDevice] uniqueIdentifier] iOS 5及更高版本的失败。

    因此,对于UUID的替代方案,我们可以使用Apple的CFUUID类来创建设备的唯一id。但是,我们真的需要记住,这个内置类将创建随机数,因此它们将在每次调用时返回不同的id。不要使用NSUserDefaults来存储它,最好的方法是使用Keychain。

    因此,在这里我给你最好的使用方法,以便将其用作设备的唯一密钥。

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

    音频:

    http://whatsmyudid.com/

    enter image description here

        5
  •  1
  •   simalone    11 年前

    UDID是iTunes中应用的唯一设备标识符,用于管理苹果开发证书中的设备。它可以通过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是通用唯一标识符,是软件构建中使用的标识符标准,由开放软件基金会(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设备中,上述方法将为差异设备返回相同的值。

    link