Comment générer UUID dans ios
Comment obtenir un UUID dans objective c, comme en Java, UUID est utilisé pour générer des nombres aléatoires uniques qui représentent une valeur de 128 bits.
7 réponses
Essayez:
CFUUIDRef udid = CFUUIDCreate(NULL);
NSString *udidString = (NSString *) CFUUIDCreateString(NULL, udid);
Mise à jour:
Depuis iOS 6, Il existe un moyen plus facile de générer UUID. Et comme d'habitude, il y a plusieurs façons de le faire:
Créer 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 intégré à NSString
, et ressemble à ceci: BE5BA3D0-971C-4418-9ECF-E2D1ABCB66BE
NOTE tirée de la Documentation:
Remarque: La classe NSUUID n'est pas sans frais Le CFUUIDRef de CoreFoundation. Utilisez des chaînes UUID pour convertir entre CFUUID et NSUUID, si nécessaire. Deux objets nsuuid ne sont pas garantis pour être comparables par la valeur du pointeur (comme CFUUIDRef Est); utilisez isEqual: pour comparer deux instances NSUUID.
+ (NSString *)uniqueFileName
{
CFUUIDRef theUniqueString = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUniqueString);
CFRelease(theUniqueString);
return [(NSString *)string autorelease];
}
-(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 version inférieure et NSUUID pour iOS 6 et 7. pour le rendre plus sûr, vous pouvez stocker votre UUID dans keychain
- (NSString*)generateGUID{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [NSString stringWithFormat:@"%@", string];
}