Certaines personnes disent UDID (Unique Device IDentifier)
et certains disent UUID (Universally Unique IDentifier)
. Sont-ils identiques ou non? Quelles sont les différences entre eux?
ID (Universally Unique IDentifier) Est une application par application. identifie une application sur un appareil. Tant que l'utilisateur ne supprime pas complètement l'application, cet identifiant persistera entre les lancements d'applications et vous permettra au moins d'identifier le même utilisateur à l'aide d'une application particulière sur un appareil. Malheureusement, si l'utilisateur supprime complètement puis réinstalle l'application, l'ID change.
DID (Unique Device Identifier) Une séquence de 40 caractères hexadécimaux qui identifient de manière unique un périphérique 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. Dans tous les cas, le mieux que vous puissiez faire à présent à des fins d'identification est d'utiliser un UUID (ID universel unique). Cela doit être sur une base par application. Autrement dit, il n'y a plus aucun moyen d'identifier l'appareil, mais vous pouvez identifier une application sur un appareil. Tant que l'utilisateur ne supprime pas complètement l'application, cet identifiant persistera entre les lancements d'applications et vous permettra au moins d'identifier le même utilisateur à l'aide d'une application particulière sur un appareil. Malheureusement, si l'utilisateur supprime complètement puis réinstalle l'application, l'ID changera, mais c'est le mieux que tout le monde puisse faire à l'avenir.
Vous feriez mieux de passer par là- http://nshipster.com/uuid-udid-unique-identifier/
[~ # ~] uuid [~ # ~] (Identifiant universel unique): séquence de 128 bits pouvant garantir l'unicité dans l'espace et le temps, définie par RFC 4122 .
[~ # ~] udid [~ # ~] (Unique Device Identifier): une séquence de 40 caractères hexadécimaux qui identifient de manière unique un appareil iOS (celui de l'appareil Numéro de sécurité sociale, 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 iOS 5, Apple a déprécié le UIDevice uniqueIdentifier, cela signifie que la méthode traditionnelle pour obtenir l'identifiant unique de chaque appareil iOS ne fonctionnera pas maintenant, c'est-à-dire. [[UIDevice currentDevice] uniqueIdentifier]
échoue sous iOS 5 et plus.
Donc, pour l'alternative à l'UUID, nous pouvons utiliser la classe CFUUID de Apple afin de créer un identifiant unique pour le périphérique. Mais, nous devons vraiment garder à l'esprit que cette classe inbuild créera aléatoire pour qu'ils renvoient des identifiants différents à chaque appel. N'utilisez pas NSUserDefaults pour le stocker, la meilleure façon est d'utiliser le trousseau.
Donc, ici, je vous donne la meilleure façon de l'utiliser afin de l'utiliser comme clé unique pour votre appareil.
- (NSString *)createNewUUID {
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [(NSString *)string autorelease];
}
UDID:
L'UDID, qui est l'identifiant unique de l'appareil, appliqué dans iTunes, gère les appareils dans votre Apple. Il peut être obtenu par le code suivant, dans le SDK iOS5:
[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 Universally Unique Identifier, un standard d'identification utilisé dans la construction de logiciels, normalisé par l'Open Software Foundation (OSF) dans le cadre de l'environnement de calcul distribué (DCE) ( wiki ).
Vous pouvez obtenir l'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 l'appareil iOS7, la méthode ci-dessus retournera la même valeur pour l'appareil différent.
Il existe de nombreuses méthodes pour récupérer des identifiants uniques dans le link