任何人都可以让我知道通过以下两个实现创建唯一ID之间的区别
1)
CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault);
NSString *udidString = (NSString*)CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid));
2)NSString *guid = [[NSUUID new] UUIDString];
当我在IOS 8及以上版本的应用程序上工作时,哪一个更可靠。
答案 0 :(得分:1)
NSUUID
已添加到iOS 6中的Foundation,以便轻松创建UUID。
CFUUIDRef
是核心基础功能。如果您的应用面向iOS 5或更早版本,则应该使用此功能。
因此,对于iOS 8及更高版本,您应该使用NSUUID
以简化和方便。
答案 1 :(得分:1)
您可以在NSHipster's uuid-udid-unique-identifier post找到详细信息。
为了不发布'仅链接'这里的回答是同一篇文章的摘录:
NSUUID已添加到iOS 6中的Foundation,以便轻松创建 的UUID。
但是,如果您的应用针对iOS 5或更早版本,则必须满足于此 核心基础在CFUUIDRef
上运行
总而言之,尽管两者都返回有效的UUID,但请继续使用NSUUID,因为它更容易。
答案 2 :(得分:1)
非常简单
1.如果您的应用面向iOS 5或iOS 5以下,则属于CoreFoundation 你也需要设置
CFUUIDRef uuid = CFUUIDCreate(NULL);
NSString *UUID = CFUUIDCreateString(NULL, uuid);
2.如果您的应用程序针对iOS6或iOS 6以上,它属于Foundation,您还需要设置
NSString *UUID = [[NSUUID UUID] UUIDString];