zoukankan      html  css  js  c++  java
  • iOS中用到的唯一标示符

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

    CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault);

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

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

    NSUUID
    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,并且不受苹果控制的方案。由此OpenUDID成为了当时使用最广泛的开源UDID替代方案。OpenUDID在工程中实现起来非常简单,并且还支持一系列的广告提供商。

    NSString *openUDID = [OpenUDID value];

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

  • 相关阅读:
    sqlserver2005系统表、视图研究2
    SQLServer2005新分页方法
    应该多了解一些工具
    关于SQLServer的小技巧
    EasyUI DataGrid使用Json加载不了数据
    js跨域及解决方案
    关于Master Page的css和js文件引用问题
    嵌套母版页
    SSMS获取存储过程中的返回值和output值
    静态构造函数
  • 原文地址:https://www.cnblogs.com/417460188dy/p/3564551.html
Copyright © 2011-2022 走看看