获取iOS设备唯一标识
来源:互联网 发布:淘宝达人一万粉丝 编辑:程序博客网 时间:2024/04/28 20:49
1.已禁用-[UIDevice uniqueIdentifier]
苹果总是把用户的隐私看的很重要。-[UIDevice uniqueIdentifier]在iOS5实际在iOS5的时候已经被遗弃了,但是iOS7中已经完全的禁用了它。Xcode5甚至不会允许你编译包含了指引到-[UIDevice uniqueIdentifier]的app。此外,iOS7之前的使用了-[UIDevice uniqueIdentifier] 的app如果在iOS7上运行,它不会返回设备的UUID,而是会返回一串字符串,以FFFFFFFF开头,跟着-[UIDevice identifierForVendor]的十六进制值。
3.MAC地址不能再用来设别设备
还有一个生成iOS设备唯一标示符的方法是使用iOS设备的Media Access Control(MAC)地址。一个MAC地址是一个唯一的号码,它是物理网络层级方面分配给网络适配器的。这个地址苹果还有其他的名字,比如说是硬件地址(Hardware Address)或是Wifi地址,都是指同样的东西。
有很多工程和框架都使用这个方法来生成唯一的设备ID。比如说ODIN。然而,苹果并不希望有人通过MAC地址来分辨用户,所以如果你在iOS7系统上查询MAC地址,它现在只会返回02:00:00:00:00:00。
现在苹果明确的表明你应该使用-[UIDevice identifierForVendor]或是-[ASIdentifierManager advertisingIdentifier]来作为你框架和应用的唯一标示符。坦白的来说,应对这些变化也不是那么的难,见以下代码片段:
- NSString *identifierForVendor = [[UIDevice currentDevice].identifierForVendor UUIDString];
- NSString *identifierForAdvertising = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
每种方法都适配一种特别的用法:
identifierForVendor对供应商来说是唯一的一个值,也就是说,由同一个公司发行的的app在相同的设备上运行的时候都会有这个相同的标识符。然而,如果用户删除了这个供应商的app然后再重新安装的话,这个标识符就会不一致。
advertisingIdentifier会返回给在这个设备上所有软件供应商相同的 一个值,所以只能在广告的时候使用。这个值会因为很多情况而有所变化,比如说用户初始化设备的时候便会改变。
- IOS获取设备唯一标识
- 获取iOS设备唯一标识
- 获取iOS设备唯一标识
- iOS 获取设备唯一标识
- 获取iOS设备唯一标识
- 获取iOS设备唯一标识
- iOS 获取设备唯一标识
- 获取iOS设备唯一标识
- iOS获取设备唯一标识
- 获取iOS设备唯一标识
- 获取iOS设备唯一标识
- iOS获取设备唯一标识
- iOS开发-获取iOS设备唯一标识
- ios设备唯一标识获取策略
- ios设备唯一标识获取策略
- ios设备唯一标识获取策略
- ios设备唯一标识获取策略
- iOS设备唯一标识获取策略
- 机型适配问题 三星note3上popupWindow里的listView无法获得点击事件
- 四、svn------MyEclipse安装svn插件
- 1、Jquery form表单ajax提交 2、jquery.filter校验多个相同类型的文本框是否输入数据有重复
- Qt与HTML,jQuery交互实现类似QQ聊天界面
- MultipartEntity与UrlEncodedFormEntity区别
- 获取iOS设备唯一标识
- Cookie与Session分析
- PHP PSR-3 日志接口规范 (中文版)
- 【bzoj1221】【HNOI2001】【软件开发】【费用流】
- 笔记练习:《Javascript入门经典(第5版)》page175_14.11_Practice
- SQLite Page Cache之事务处理(3)
- Linux下制作raid1
- hadoop在进行二次排序的时候程序运行停止了
- 从钥匙串中获取唯一标示符