Cómo obtener un UUID en el objetivo c, como en Java, el UUID se usa para generar números aleatorios únicos que representan un valor de 128 bits.
ios
objective-c
Saurabh Jadhav
fuente
fuente
Respuestas:
Tratar:
CFUUIDRef udid = CFUUIDCreate(NULL); NSString *udidString = (NSString *) CFUUIDCreateString(NULL, udid);
ACTUALIZAR:
A partir de iOS 6, existe una forma más sencilla de generar UUID . Y como de costumbre, hay varias formas de hacerlo:
Cree una cadena UUID:
NSString *uuid = [[NSUUID UUID] UUIDString];
Crea un UUID:
[NSUUID UUID]; // which is the same as.. [[NSUUID] alloc] init];
Crea un objeto de tipo
NSConcreteUUID
y se puede convertir fácilmente enNSString
, y tiene este aspecto:BE5BA3D0-971C-4418-9ECF-E2D1ABCB66BE
NOTA de la documentación:
fuente
CFUUIDRef udid
probablemente debería serCFUUIDRef uuid
para evitar una posible confusión de UDID (Identificador único de dispositivo) con UUID (Identificador único universal)Versión rápida de la respuesta de Raptor :
let uuid = NSUUID().UUIDString
fuente
+ (NSString *)uniqueFileName { CFUUIDRef theUniqueString = CFUUIDCreate(NULL); CFStringRef string = CFUUIDCreateString(NULL, theUniqueString); CFRelease(theUniqueString); return [(NSString *)string autorelease]; }
fuente
-(NSString*) myUUID() { CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault); CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID); NSString *guid = (__bridge NSString *)newUniqueIDString; CFRelease(newUniqueIDString); CFRelease(newUniqueID); return([guid lowercaseString]); }
fuente
puede usar CFUUID para iOS 5 o una versión inferior y NSUUID para iOS 6 y 7. para hacerlo más seguro, puede almacenar su UUID en el llavero
fuente
- (NSString*)generateGUID{ CFUUIDRef theUUID = CFUUIDCreate(NULL); CFStringRef string = CFUUIDCreateString(NULL, theUUID); CFRelease(theUUID); return [NSString stringWithFormat:@"%@", string]; }
fuente
Para Swift 5.0, use esto,
let uuidRef = CFUUIDCreate(nil) let uuidStringRef = CFUUIDCreateString(nil, uuidRef) let uuid = uuidStringRef as String? ?? ""
fuente