博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS中用到的唯一标示符
阅读量:5158 次
发布时间:2019-06-13

本文共 1016 字,大约阅读时间需要 3 分钟。

CFUUID

从iOS2.0开始,CFUUID就已经出现了。它是CoreFoundatio包的一部分,因此API属于C语言风格。方法用来创建CFUUIDRef,并且可以获得一个相应的NSString,如下代码:

CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault);

NSString *cfuuidString = (NSString*)CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid));

 获得的这个CFUUID值系统并没有存储。每次调用CFUUIDCreate,系统都会返回一个新的唯一标示符。

NSUUID

在iOS 6中才出现,这跟CFUUID几乎完全一样,只不过它是Objective-C接口。+ (id)UUID 是一个类方法,调用该方法可以获得一个UUID。通过下面的代码可以获得一个UUID字符串:

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

跟CFUUID一样,这个值系统也不会存储,每次调用的时候都会获得一个新的唯一标示符。

UDID

在之前的版本中是可用的,但是在iOS5以及之后的版本中,以及被弃用了。获取UDID的方法如下:

NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];

示例: bb4d786633053a0b9c0da20d54ea7e38e8776da4

OpenUDID

在iOS 5发布时,uniqueIdentifier被弃用了,这引起了广大开发者需要寻找一个可以替代UDID,并且不受苹果控制的方案。由此成为了当时使用最广泛的开源UDID替代方案。OpenUDID在工程中实现起来非常简单,并且还支持一系列的广告提供商。

NSString *openUDID = [OpenUDID value];

 OpenUDID利用了一个非常巧妙的方法在不同程序间存储标示符 — 在粘贴板中用了一个特殊的名称来存储标示符。通过这种方法,别的程序(同样使用了OpenUDID)知道去什么地方获取已经生成的标示符(而不用再生成一个新的)。

转载于:https://www.cnblogs.com/417460188dy/p/3564551.html

你可能感兴趣的文章
Java基础知识强化之IO流笔记39:字符流缓冲流之复制文本文件案例01
查看>>
Java基础知识强化48:Java中哈希码
查看>>
TCP/IP协议原理与应用笔记24:网际协议(IP)之 IP协议的简介
查看>>
bool
查看>>
C#中Enum用法小结
查看>>
ORA-12541:TNS:无监听程序
查看>>
QMap与QHash
查看>>
Cocos2d-x动作学习笔记 分类: cocos2d代码编写 ...
查看>>
第4章例4-12 源程序2
查看>>
Bootstrap 3 How-To #1 下载与配置
查看>>
java并发编程(10)Fork/Join
查看>>
#程序员健康 如何解救你的鼠标手
查看>>
linux下maven的安装
查看>>
win10安装express遇到的问题。
查看>>
Corosync 配置描述
查看>>
JAVA中类、实例与Class对象
查看>>
svn_linux + apache 实现网页访问svn
查看>>
leetcode 58. length of last word
查看>>
C++随笔(2)
查看>>
周浩晖 - 鬼望坡(2014年11月25日)
查看>>