Saya ingin dapat membuat GUID / UUID di iPhone dan iPad.
Tujuannya adalah untuk dapat membuat kunci untuk data terdistribusi yang semuanya unik. Apakah ada cara untuk melakukan ini dengan SDK iOS?
Saya ingin dapat membuat GUID / UUID di iPhone dan iPad.
Tujuannya adalah untuk dapat membuat kunci untuk data terdistribusi yang semuanya unik. Apakah ada cara untuk melakukan ini dengan SDK iOS?
Jawaban:
[[UIDevice currentDevice] uniqueIdentifier]
Mengembalikan ID Unik iPhone Anda.
EDIT:
-[UIDevice uniqueIdentifier]
sekarang sudah tidak digunakan lagi dan aplikasi ditolak dari App Store untuk menggunakannya. Metode di bawah ini sekarang merupakan pendekatan yang lebih disukai.
Jika Anda perlu membuat beberapa UUID, cukup gunakan metode ini (dengan ARC):
+ (NSString *)GetUUID
{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return (__bridge NSString *)string;
}
EDIT: Jan, 29 2014: Jika Anda menargetkan iOS 6 atau lebih baru, Anda sekarang dapat menggunakan metode yang lebih sederhana:
NSString *UUID = [[NSUUID UUID] UUIDString];
Berikut adalah kode sederhana yang saya gunakan, sesuai dengan ARC.
+(NSString *)getUUID
{
CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
NSString * uuidString = (__bridge_transfer NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
CFRelease(newUniqueId);
return uuidString;
}
Di iOS 6 Anda dapat dengan mudah menggunakan:
NSUUID *UUID = [NSUUID UUID];
NSString* stringUUID = [UUID UUIDString];
Lebih detail dalam Dokumentasi Apple
Dalam Swift :
var uuid: String = NSUUID().UUIDString
println("uuid: \(uuid)")
Teknik paling sederhana adalah menggunakan NSString *uuid = [[NSProcessInfo processInfo] globallyUniqueString]
. Lihat referensi kelas NSProcessInfo .
Saya telah mengunggah implementasi sederhana saya dari kelas Guid untuk ObjC di sini: obj-c GUID
Guid* guid = [Guid randomGuid];
NSLog("%@", guid.description);
Itu dapat menguraikan ke dan dari berbagai format string juga.