web-dev-qa-db-fra.com

Comment générer un UUID dans ios

Comment obtenir un UUID dans Objective C, comme dans Java, UUID est utilisé pour générer des nombres aléatoires uniques représentant une valeur de 128 bits.

73
Saurabh Jadhav

Essayer:

CFUUIDRef udid = CFUUIDCreate(NULL);
NSString *udidString = (NSString *) CFUUIDCreateString(NULL, udid);

METTRE À JOUR:

Depuis iOS 6, il existe un moyen plus simple de générer un UUID . Et comme d'habitude, il y a plusieurs façons de le faire:

Créez une chaîne UUID:

NSString *uuid = [[NSUUID UUID] UUIDString];

Créer un UUID:

[[NSUUID UUID]; // which is same as..
[[NSUUID] alloc] init]; 

Crée un objet de type NSConcreteUUID et peut être facilement converti en NSString. Il ressemble à ceci: BE5BA3D0-971C-4418-9ECF-E2D1ABCB66BE

NOTE de la documentation:

Remarque: La classe NSUUID n’est pas pontée sans frais avec CFUUIDRef de CoreFoundation. Utilisez des chaînes UUID pour convertir entre CFUUID et NSUUID, si nécessaire. La comparabilité de deux objets NSUUID n'est pas garantie (comme CFUUIDRef); Utilisez isEqual: pour comparer deux instances de NSUUID.

159
Raptor
+ (NSString *)uniqueFileName
{
    CFUUIDRef theUniqueString = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUniqueString);
    CFRelease(theUniqueString);
    return [(NSString *)string autorelease];
}
6
Bergasms

Version rapide de Réponse de Raptor :

let uuid = NSUUID().UUIDString
5
Melvin
-(NSString*) myUUID()
{
    CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);
    CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
    NSString *guid = (__bridge NSString *)newUniqueIDString;
    CFRelease(newUniqueIDString);
    CFRelease(newUniqueID);
    return([guid lowercaseString]);
}
3
Dominic Sander

Je vous suggère de vérifier cette bibliothèque: https://github.com/fabiocaccamo/FCUUID

Il fournit une API très simple pour obtenir des identifiants universellement uniques avec différents niveaux de persistance.

Il est compatible avec: iOS5, iOS6, iOS7, iOS8

2
Fabio Caccamo

vous pouvez utiliser CFUUID pour iOS 5 ou une version antérieure et NSUUID pour iOS 6 et 7 . pour le rendre plus sûr, vous pouvez stocker votre UUID dans un trousseau

1
Veeru Sharma
- (NSString*)generateGUID{
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    return [NSString stringWithFormat:@"%@", string];
}
0
Sargis Gevorgyan