Différences entre UDID et UUID [duplicata]
cette question a déjà une réponse ici:
certains disent UDID (Unique Device IDentifier)
et certains disent UUID (Universally Unique IDentifier)
. Sont-ils sont les mêmes ou pas? Quelles sont les différences entre eux?
5 réponses
UUID (Universally Unique IDentifier) Est sur une base par application. identifie une application sur un périphérique. Tant que l'utilisateur ne supprime pas complètement l'application, Cet identifiant persistera entre les lancements de l'application, et vous permettra au moins d'identifier le même utilisateur en utilisant une application particulière sur un périphérique. Malheureusement, si l'utilisateur supprime complètement, puis réinstalle l'application puis l'ID va changer.
UDID (identificateur Unique de L'instrument)) Une séquence de 40 caractères hexadécimaux qui identifient de façon unique un appareil ios. Cette valeur peut être récupérée via iTunes, ou trouvée en utilisant UIDevice-uniqueIdentifier. Dérivé de détails matériels comme L'adresse MAC.
Apple commence apparemment à supprimer l'accès à L'UDID (Unique Device IDentifier) dans iOS5. Quoi qu'il en soit, le mieux que vous puissiez faire pour vous identifier est d'utiliser un UUID (Universally Unique IDentifier). Ce doit être sur une base par application. Autrement dit, il n'y a plus de moyen d'identifier l'appareil, mais vous pouvez identifier une application sur un appareil. Aussi longtemps que l'utilisateur ne supprime pas complètement l'application, alors cet identifiant va persister entre les lancements de l'application, et au moins vous laisser identifier le même utilisateur à l'aide d'une application sur un périphérique. Malheureusement, si l'utilisateur supprime complètement, puis réinstalle l'application puis l'ID va changer, mais c'est le meilleur, n'importe qui peut le faire à l'avenir.
Vous feriez mieux de passer par ce- http://nshipster.com/uuid-udid-unique-identifier/
UUID (identificateur unique universel): une séquence de 128 bits qui peut garantir l'unicité dans l'espace et le temps, défini par RFC 4122 .
UDID (identificateur Unique du dispositif): une séquence de 40 caractères hexadécimaux qui identifiez un appareil iOS (Le numéro de sécurité sociale de l'appareil, si vous voulez). Cette valeur peut être récupérée via iTunes, ou trouvée en utilisant UIDevice-uniqueIdentifier. Dérivé de détails matériels comme L'adresse MAC.
depuis de Ios 5, Apple a déprécié L'uniqueIdentifier UIDevice, ce qui signifie la façon traditionnelle d'obtenir l'id unique de chaque appareil iOS ne fonctionnera pas maintenant ie.
[[UIDevice currentDevice] uniqueIdentifier]
échoue de iOS 5 et plus.
ainsi , pour l'alternative à L'UUID, nous pouvons utiliser la classe Cfuuid D'Apple afin de créer un id unique pour l'appareil. Mais, nous devons vraiment garder à l'esprit que cette classe inbuild va créer des nombres aléatoires de sorte qu'ils retourneront différents ID sur chaque appeler. N'utilisez pas NSUserDefaults pour le stocker, la meilleure façon est d'utiliser le porte-clés.
Donc, ici, je vais vous en donner la meilleure façon de l'utiliser afin de l'utiliser comme une clé unique pour votre appareil.
- (NSString *)createNewUUID {
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [(NSString *)string autorelease];
}
UDID:
UDID, qui est L'identifiant unique de L'appareil, appliqué dans iTunes, Gérer les appareils dans votre certificat de développement apple. il peut être obtenu par le code suivant, en iOS5 SDK:
[UIDevice currentDevice] uniqueIdentifier];
définir est:
@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, qui est un identifiant universel Unique, un standard d'identification utilisé dans la construction de logiciels, standardisé par L'Open Software Foundation (OSF) dans le cadre de L'environnement de calcul distribué (DCE) ( wiki ).
vous pouvez obtenir UUID par le code suivant:
-(NSString*) uuid {
CFUUIDRef puuid = CFUUIDCreate( nil );
CFStringRef uuidString = CFUUIDCreateString( nil, puuid );
NSString * result = (NSString *)CFStringCreateCopy( NULL, uuidString);
CFRelease(puuid);
CFRelease(uuidString);
return [result autorelease];
}
mais, dans le dispositif iOS7, la méthode ci-dessus retournera la même valeur pour le dispositif de différence.
il existe de nombreuses méthodes pour récupérer des identificateurs uniques dans le lien