当前位置:  开发笔记 > IOS > 正文

有没有在Mac上生成标准128位GUID(UUID)的方法?

如何解决《有没有在Mac上生成标准128位GUID(UUID)的方法?》经验,为你挑选了5个好方法。

是否有与.NET相当的内置函数

Guid.NewGuid();

在可可?

我的愿望是产生一个字符串,550e8400-e29b-41d4-a716-446655440000其中的字符串代表一个唯一的标识符.



1> Jörg W Mitta..:

UUID由Core Foundation,CFUUID库处理.您正在寻找的功能是CFUUIDCreate.

进一步搜索的FYI:这些通常称为UUID,术语GUID在Microsoft世界之外并不经常使用.您可能会对该搜索字词有更多好运.



2> Barry Wark..:

一些代码:

对于字符串UUID,以下类方法应该可以解决这个问题:

+(NSString*)UUIDString {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    return [(NSString *)string autorelease];
}

如果你真的想要字节(不是字符串):

+(CFUUIDBytes)UUIDBytes {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFUUIDBytes bytes = CFUUIDGetUUIDBytes(theUUID);
    CFRelease(theUUID);
    return bytes;
}

其中CFUUIDBytes是UUID字节的结构.



3> 小智..:

至少在MacOSX 10.5.x上,您可以使用命令行工具"uuidgen"来获取字符串,例如

$ uuidgen

054209C4-3873-4679-8104-3C18AE780512

这个命令还有一个选项-hdr,可以方便地以标题样式生成它

有关更多信息,请参见man-page.



4> 小智..:

或者是uuidgen命令行工具.


显然,该实用程序已更名为"uuidgen".至少,从Snow Leopard开始.

5> David Ellima..:

从10.8开始你也可以使用:NSString*uuidString = [[NSUUID UUID] UUIDString];

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有