如何使用iPhone SDK创建GUID / UUID

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

目的是为所有独特的分布式数据创建密钥。 有没有办法用iOS SDK来做到这一点?


[[UIDevice currentDevice] uniqueIdentifier]

返回您的iPhone的唯一ID。

编辑: -[UIDevice uniqueIdentifier]现已被弃用,应用程序被拒绝从App Store使用它。 下面的方法现在是首选的方法。

如果您需要创建多个UUID,请使用此方法(使用ARC):

+ (NSString *)GetUUID
{
  CFUUIDRef theUUID = CFUUIDCreate(NULL);
  CFStringRef string = CFUUIDCreateString(NULL, theUUID);
  CFRelease(theUUID);
  return (__bridge NSString *)string;
}

编辑:2014年1月29日:如果您的目标是iOS 6或更高版本,现在可以使用更简单的方法:

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

这是我正在使用的简单代码,符合ARC。

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

    return uuidString;
}

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

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

苹果文档中的更多细节

链接地址: http://www.djcxy.com/p/16259.html

上一篇: How to create a GUID/UUID using the iPhone SDK

下一篇: Advantages and disadvantages of GUID / UUID database keys