Jak uzyskać UUID w celu c, podobnie jak w Javie UUID służy do generowania unikalnych liczb losowych, które reprezentują wartość 128-bitową.
ios
objective-c
Saurabh Jadhav
źródło
źródło
Odpowiedzi:
Próbować:
CFUUIDRef udid = CFUUIDCreate(NULL); NSString *udidString = (NSString *) CFUUIDCreateString(NULL, udid);
AKTUALIZACJA:
Od iOS 6 jest łatwiejszy sposób generowania UUID . I jak zwykle można to zrobić na wiele sposobów:
Utwórz ciąg UUID:
NSString *uuid = [[NSUUID UUID] UUIDString];
Utwórz UUID:
[NSUUID UUID]; // which is the same as.. [[NSUUID] alloc] init];
Tworzy obiekt typu
NSConcreteUUID
i może być łatwo rzutowanyNSString
, i wygląda następująco:BE5BA3D0-971C-4418-9ECF-E2D1ABCB66BE
UWAGA z Dokumentacji:
źródło
CFUUIDRef udid
prawdopodobnie powinno być wCFUUIDRef uuid
celu uniknięcia potencjalnego pomylenia UDID (Unique Device Identifier) z UUID (Universally Unique Identifier)Szybka wersja odpowiedzi Raptora :
let uuid = NSUUID().UUIDString
źródło
+ (NSString *)uniqueFileName { CFUUIDRef theUniqueString = CFUUIDCreate(NULL); CFStringRef string = CFUUIDCreateString(NULL, theUniqueString); CFRelease(theUniqueString); return [(NSString *)string autorelease]; }
źródło
-(NSString*) myUUID() { CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault); CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID); NSString *guid = (__bridge NSString *)newUniqueIDString; CFRelease(newUniqueIDString); CFRelease(newUniqueID); return([guid lowercaseString]); }
źródło
możesz użyć CFUUID dla iOS 5 lub niższej wersji i NSUUID dla iOS 6 i 7. Aby uczynić go bezpieczniejszym, możesz przechowywać swój UUID w pęku kluczy
źródło
- (NSString*)generateGUID{ CFUUIDRef theUUID = CFUUIDCreate(NULL); CFStringRef string = CFUUIDCreateString(NULL, theUUID); CFRelease(theUUID); return [NSString stringWithFormat:@"%@", string]; }
źródło
W przypadku Swift 5.0 użyj tego,
let uuidRef = CFUUIDCreate(nil) let uuidStringRef = CFUUIDCreateString(nil, uuidRef) let uuid = uuidStringRef as String? ?? ""
źródło