iOS5:[UIDevice uniqueIdentifier]的替代方案
来源:互联网 发布:男士冬季休闲裤 知乎 编辑:程序博客网 时间:2024/05/01 21:42
iOS5之后,原来获取iPhone的DeviceId的接口:[UIDevice uniqueIdentifier] 被废弃!
这个改动会影响非常多的人,尤其是数据分析者。由于iPhone取IMEI困难(属于私有方法),所以大多数应用将DeviceId,也就是uniqueIdentifier作为IMEI来使用。如果这个接口被废弃,那么,我们就需要寻求一个新的方式来标识唯一的设备。
官方推荐的方法是,每个应用内创建一个UUID来作为唯一标志,并将之存储,但是这个解决方法明显不能接受!原因是,你每次创建的UUID都是不一样的,意味着,你卸载后重新安装这个软件,生成的UUID就不一样了,无法达到我们将之作为数据分析的唯一标识符的要求。
现有的解决方案是,使用iPhone的Mac地址,因为Mac地址也是唯一的。unix有系统调用可以获取Mac地址。但是有些事情需要注意:
1.iPhone可能有多个Mac地址,wifi的地址,以及SIM卡的地址。一般来讲,我们取en0的地址,因为他是iPhone的wifi的地址,是肯定存在的。(例外情况依然有:市面上依然存在一部分联通的阉割版无wifi的iPhone)
2.Mac地址涉及到隐私,不应该胡乱将用户的Mac地址传播!所以我们需要将Mac地址进行hash之后,才能作为DeviceId上传。
网上已经有现成的解决方案:
https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5
这个改动会影响非常多的人,尤其是数据分析者。由于iPhone取IMEI困难(属于私有方法),所以大多数应用将DeviceId,也就是uniqueIdentifier作为IMEI来使用。如果这个接口被废弃,那么,我们就需要寻求一个新的方式来标识唯一的设备。
官方推荐的方法是,每个应用内创建一个UUID来作为唯一标志,并将之存储,但是这个解决方法明显不能接受!原因是,你每次创建的UUID都是不一样的,意味着,你卸载后重新安装这个软件,生成的UUID就不一样了,无法达到我们将之作为数据分析的唯一标识符的要求。
现有的解决方案是,使用iPhone的Mac地址,因为Mac地址也是唯一的。unix有系统调用可以获取Mac地址。但是有些事情需要注意:
1.iPhone可能有多个Mac地址,wifi的地址,以及SIM卡的地址。一般来讲,我们取en0的地址,因为他是iPhone的wifi的地址,是肯定存在的。(例外情况依然有:市面上依然存在一部分联通的阉割版无wifi的iPhone)
2.Mac地址涉及到隐私,不应该胡乱将用户的Mac地址传播!所以我们需要将Mac地址进行hash之后,才能作为DeviceId上传。
网上已经有现成的解决方案:
https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5
- iOS5:[UIDevice uniqueIdentifier]的替代方案
- iOS5:[UIDevice uniqueIdentifier]的替代方案
- iOS5:[UIDevice uniqueIdentifier]的替代方案
- iOS5:[UIDevice uniqueIdentifier]的替代方案
- 获取UIDevice的uniqueIdentifier替代方法
- 苹果UDID(uniqueIdentifier)的替代方案
- 苹果UDID(uniqueIdentifier)的替代方案
- 代替[UIDevice uniqueIdentifier]获取UDID的方法
- 去除 UIDevice uniqueIdentifier 方法调用时的警告
- 在iOS5中的UDID替代方案
- NSUUID / CFUUIDRef / UIDevice -uniqueIdentifier / -identifierForVendor
- 关于ios5以上不在支持设备的uniqueIdentifier解决方案
- uniqueIdentifier在ios7不支持后的替代方法
- uniqueIdentifier在ios7不支持后的替代方法 (未验证)
- 苹果官方给出的代替[UIDevice uniqueIdentifier]获取UDID的方法
- 苹果官方给出的代替[UIDevice uniqueIdentifier]获取UDID的方法
- UIDevice-with-UniqueIdentifier-for-iOS-5
- 替代UITabBarController的方案
- cc2430/cc2530 ADC单次采样
- bloom filter -- 处理大数据集的利器
- 请用这个找到我
- iphone开发-UIDevice用法汇总
- 【书评】多姿态诗意生活--读《十四堂人生创意课》有感
- iOS5:[UIDevice uniqueIdentifier]的替代方案
- C专家编程精华篇----头疼的C语言声明:const、typedef、define及函数高级声明
- 关于#define宏定义的
- http get post
- 记录点滴17
- 转行与创业之路(4)
- ASP.NET 内置对象
- 理解同步与异步
- ARM 的分散加载