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.
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.
+ (NSString *)uniqueFileName
{
CFUUIDRef theUniqueString = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUniqueString);
CFRelease(theUniqueString);
return [(NSString *)string autorelease];
}
Version rapide de Réponse de Raptor :
let uuid = NSUUID().UUIDString
-(NSString*) myUUID()
{
CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);
CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
NSString *guid = (__bridge NSString *)newUniqueIDString;
CFRelease(newUniqueIDString);
CFRelease(newUniqueID);
return([guid lowercaseString]);
}
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
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
- (NSString*)generateGUID{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [NSString stringWithFormat:@"%@", string];
}