Cómo generar UUID en ios

Cómo obtener un UUID en el objective c, como en Java UUID se utiliza para generar números aleatorios únicos que representan el valor de 128 bits.

Tratar:

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

ACTUALIZAR:

A partir de iOS 6, hay una manera más fácil de generar UUID . Y como de costumbre, hay múltiples formas de hacerlo:

Crear una cadena UUID:

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

Crea un UUID:

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

Crea un objeto de tipo NSConcreteUUID y se puede convertir fácilmente en NSString , y se ve así: BE5BA3D0-971C-4418-9ECF-E2D1ABCB66BE

NOTA de la documentación:

Nota: La clase NSUUID no tiene un puente gratuito con CFUUIDRef de CoreFoundation. Use cadenas UUID para convertir entre CFUUID y NSUUID, si es necesario. No se garantiza que dos objetos NSUUID sean comparables por valor de puntero (como CFUUIDRef); use isEqual: para comparar dos instancias NSUUID.

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

Versión rápida de la respuesta 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]); } 

Le sugiero que compruebe esta biblioteca: https://github.com/fabiocaccamo/FCUUID

Proporciona API muy simple para obtener identificadores universalmente únicos con diferentes niveles de persistencia.

Es compatible con: iOS5, iOS6, iOS7, iOS8

puede usar CFUUID para iOS 5 o versión inferior y NSUUID para iOS 6 y 7. Para hacerlo más seguro puede almacenar su UUID en llavero

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