我希望能够在iPhone和iPad上创建一个GUID/UUID。

这样做的目的是能够为所有唯一的分布式数据创建键。iOS SDK有办法做到这一点吗?


当前回答

最简单的方法是使用NSString *uuid = [[NSProcessInfo processInfo] globallyUniqueString]。请参阅NSProcessInfo类引用。

其他回答

这是我使用的简单代码,与ARC兼容。

+(NSString *)getUUID
{
    CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
    NSString * uuidString = (__bridge_transfer NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
    CFRelease(newUniqueId);

    return uuidString;
}

在Swift 3.0中

var uuid = UUID().uuidString

最简单的方法是使用NSString *uuid = [[NSProcessInfo processInfo] globallyUniqueString]。请参阅NSProcessInfo类引用。

迅速:

var uuid: String = NSUUID().UUIDString
println("uuid: \(uuid)")

在iOS 6中,你可以轻松使用:

NSUUID  *UUID = [NSUUID UUID];
NSString* stringUUID = [UUID UUIDString];

更多细节在苹果文档中