iOS: 获取不变的UDID

iOS: 获取不变的UDID

iOS唯一标识的历史历程

iOS 6.0

在iOS6.0以前,是使用uniqueIdentifier来获取手机的唯一标识,后来苹果感觉这样会泄露用户隐藏,就封掉了这个方法;

iOS 6.0系统新增了两个用于替换uniqueIdentifier的接口

  • identifierForVendor
  • advertisingIdentifier

但是 identifierForVendor 会在卸载后再重装,就会改变,所以就不能当做手机的唯一标识使用。
后来,未来解决问题,程序员们想到了使用WiFi的mac地址来作为手机的唯一标识。很欢乐的使用着·······

但是············

iOS 7.0

iOS 7中苹果再一次无情的封杀mac地址,使用之前的方法获取到的mac地址全部都变成了02:00:00:00:00:00

聪明的程序员们,想到了用广告标示符作为手机唯一的标识。但是·······
只要用户重置了广告标示符以后,还是会获得一个新的广告标识。这样一来,广告标识付也不可以用了。。。。

这下该如何是好呢?

接下来就是介绍解决方法的时候了

使用KeyChain来保存获取到的唯一标示符呢,这样以后即使APP删了再装回来,也可以从KeyChain中读取回来,当然也不会害怕重置了广告标示符

FCUUID

在github搜一下UDID,发现这个东东的星星最多。看来一下readme,添加到自己的项目中测试,可用

设备标识在 完全抹掉iPhone的时候,仍然会变。学长只能帮到这了····

使用方法

1、点击下载所需文件
因为FCUUID需要依靠该作者的另外一个文件。所以这里有就把所有的文件放在了一起,供大家下载使用。
作者 githun地址 https://github.com/fabiocaccamo/FCUUID

2、在项目中添加 Security.framework

3、导入头文件

 #import "FCUUID.h"

接下来就可以欢快的使用了

FCUUID提供的类方法

// 每次运行应用都会变
+(NSString *)uuid;

//changes each time (no persistent), but allows to keep in memory more temporary uuids
+(NSString *)uuidForKey:(id<NSCopying>)key;

// 每次运行应用都会变
+(NSString *)uuidForSession;

// 重新安装的时候会变
+(NSString *)uuidForInstallation;

// 卸载后重装会变
+(NSString *)uuidForVendor;

// 抹掉iPhone的时候才会变,适合做唯一标识
+(NSString *)uuidForDevice;

个人测试数据

时间: 2024-08-14 14:52:15

iOS: 获取不变的UDID的相关文章

iOS 获取一个不变的UDID

原文:iOS7: 如何获取不变的UDID 如何使用KeyChain保存和获取UDID 本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题.并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可. 一.iOS不用版本获取UDID的方法比较 1)iOS 5.0 iOS 2.0版本以后UIDevice提供一个获取设备唯一标识符的方法uniqueIdentifier,通过该方法我们可以获取设备的序列号,这个也是目前为止唯一可

iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?

iOS获取设备唯一标识的各种方法?IDFA.IDFV.UDID分别是什么含义? [摘要:1.UDID (Unique Device Identifier) UDID的齐称是Unique Device Identifier,望文生义,它便是苹果IOS装备的独一辨认码,它由40个字符的字母战数字构成.正在良多须要限定] 一.UDID (Unique Device Identifier) UDID的全称是Unique Device Identifier,顾名思义,它就是苹果IOS设备的唯一识别码,它由

iOS获取设备型号、装置类型等信息

iOS获取设备型号.设备类型等信息 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然而他们都陆陆续续倒在了苹果的门下.苹果目前提供了2个方法供App获取设备标识:idfa和idfv idfa:全称advertisingIdentifier,官方解释是广告标识,适用于广告推广,这个建议不要轻易使用,如果用了,则App里必须提供广告功能,否则很有可能会在AppStore审核时被拒.而且idfa是可以被用户关闭的(设置->隐私),一旦被关闭,就获取不到了.

iOS开发中的UDID和UUID详解

今天突然想和大家聊聊UDID和UUID的问题,虽然平时我们对这两个东西很忽视,往往也很难区分这两个东西.今天就来好好谈谈. [UDID] UDID的全名为 Unique Device Identifier :设备唯一标识符.从名称上也可以看出,UDID这个东西是和设备有关的,而且是只和设备有关的,有点类似于MAC地址.我在上一篇博客中<iOS应用发布流程详解>提到了真机调试,然后需要把UDID这个东西添加到Provisoning Profile授权文件中,也就是把设备唯一标识符添加进去,以此来

iOS 获取设备唯一标示符的方法

在开发中会遇到应用需要记录设备标示,即使应用卸载后再安装也可重新识别的情况,在这写一种实现方式--读取设备的UUID(Universally Unique Identifier)并通过KeyChain记录. 首先iOS中获取设备唯一标示符的方法一直随版本的更新而变化.iOS 2.0版本以后UIDevice提供一个获取设备唯一标识符的方法uniqueIdentifier,通过该方法我们可以获取设备的序列号,这个也是目前为止唯一可以确认唯一的标示符.好景不长,因为该唯一标识符与手机一一对应,苹果觉得

iOS 获取设备的唯一性

一: 英文原文:In iOS 7 and later, if you ask for the MAC address of an iOS device, the system returns the value 02:00:00:00:00:00. If you need to identify the device, use the identifierForVendor property of UIDevice instead. (Apps that need an identifier f

iOS获取设备唯一标识的8种方法

8种iOS获取设备唯一标识的方法,希望对大家有用. UDID UDID(Unique Device Identifier),iOS 设备的唯一识别码,是一个40位十六进制序列(越狱的设备通过某些工具可以改变设备的 UDID),移动网络可以利用 UDID 来识别移动设备. 许多开发者把 UDID 跟用户的真实姓名.密码.住址.其它数据关联起来,网络窥探者会从多个应用收集这些数据,然后顺藤摸瓜得到这个人的许多隐私数据,同时大部分应用确实在频繁传输 UDID 和私人信息. 为了避免集体诉讼,苹果最终决

IOS获取设备唯一标识的八种方法

免责声明:本文章来源于其他博客整理 参考:http://www.2cto.com/kf/201308/237648.html 参考:http://www.2cto.com/kf/201311/255684.html 在iOS系统中,获取设备唯一标识的方法有很多: 一.UDID(Unique Device Identifier) UDID的全称是Unique Device Identifier,它就是苹果IOS设备的唯一识别码,它由40个字符的字母和数字组成(越狱的设备通过某些工具可以改变设备的U

检测SDWebImage有没有缓存图片 IOS 获取网络图片大小

NSURL *url = [NSURL URLWithString:[model.content objectForKey:@"image"]];             //请求网络地址数据的同步方法             //因为这个方法在子线程(全局队列)中执行,所以不需要考虑死线程的问题             SDWebImageManager *manager = [SDWebImageManager sharedManager];              [manag