Wie man eine UUID in Ziel c erhält, wie in Java UUID wird verwendet, um eindeutige Zufallszahlen zu generieren, die einen 128-Bit-Wert darstellen.
ios
objective-c
Saurabh Jadhav
quelle
quelle
Antworten:
Versuchen:
CFUUIDRef udid = CFUUIDCreate(NULL); NSString *udidString = (NSString *) CFUUIDCreateString(NULL, udid);
AKTUALISIEREN:
Ab iOS 6 gibt es eine einfachere Möglichkeit, UUID zu generieren . Und wie immer gibt es mehrere Möglichkeiten:
Erstellen Sie eine UUID-Zeichenfolge:
NSString *uuid = [[NSUUID UUID] UUIDString];
Erstellen Sie eine UUID:
[NSUUID UUID]; // which is the same as.. [[NSUUID] alloc] init];
Erstellt ein Objekt vom Typ,
NSConcreteUUID
das leicht umgewandelt werden kannNSString
, und sieht folgendermaßen aus:BE5BA3D0-971C-4418-9ECF-E2D1ABCB66BE
HINWEIS aus der Dokumentation:
quelle
CFUUIDRef udid
sollte wahrscheinlich seinCFUUIDRef uuid
, um eine mögliche Verwechslung von UDID (Unique Device Identifier) mit UUID (Universally Unique Identifier) zu vermeidenSchnelle Version von Raptors Antwort :
let uuid = NSUUID().UUIDString
quelle
+ (NSString *)uniqueFileName { CFUUIDRef theUniqueString = CFUUIDCreate(NULL); CFStringRef string = CFUUIDCreateString(NULL, theUniqueString); CFRelease(theUniqueString); return [(NSString *)string autorelease]; }
quelle
-(NSString*) myUUID() { CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault); CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID); NSString *guid = (__bridge NSString *)newUniqueIDString; CFRelease(newUniqueIDString); CFRelease(newUniqueID); return([guid lowercaseString]); }
quelle
Sie können CFUUID für iOS 5 oder eine niedrigere Version und NSUUID für iOS 6 und 7 verwenden. Um die Sicherheit zu erhöhen, können Sie Ihre UUID im Schlüsselbund speichern
quelle
- (NSString*)generateGUID{ CFUUIDRef theUUID = CFUUIDCreate(NULL); CFStringRef string = CFUUIDCreateString(NULL, theUUID); CFRelease(theUUID); return [NSString stringWithFormat:@"%@", string]; }
quelle
Verwenden Sie für Swift 5.0 Folgendes:
let uuidRef = CFUUIDCreate(nil) let uuidStringRef = CFUUIDCreateString(nil, uuidRef) let uuid = uuidStringRef as String? ?? ""
quelle