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]; }