如何使用advertisingIdentifier(IOS7不能获得MAC地址)
2013-10-12 14:23
190 查看
一、IOS7不能获得MAC地址
应用在iOS6及以下时,可以正确取道Mac地址,在iOS7上,会返回固定值。
这样带来的问题是无法区分具体的iOS设备,有些产品就非常难搞了,目前没有找到可以区分不同iOS设备的方法。
测试过mac地址,确实会返回固定值02:00:00:00:00:00.以后应该会用广告id吧advertisingIdentifier
二、使用advertisingIdentifier步骤
三、advertisingIdentifier介绍
广告标示符(IDFA-identifierForIdentifier)
这是iOS 6中另外一个新的方法,advertisingIdentifier是新框架AdSupport.framework的一部分。ASIdentifierManager单例提供了一个方法advertisingIdentifier,通过调用该方法会返回一个上面提到的NSUUID实例。
NSString *adId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
跟CFUUID和NSUUID不一样,广告标示符是由系统存储着的。不过即使这是由系统存储的,但是有几种情况下,会重新生成广告标示符。如果用户完全重置系统((设置程序 -> 通用 -> 还原 -> 还原位置与隐私) ,这个广告标示符会重新生成。另外如果用户明确的还原广告(设置程序-> 通用 -> 关于本机 -> 广告 -> 还原广告标示符) ,那么广告标示符也会重新生成。关于广告标示符的还原,有一点需要注意:如果程序在后台运行,此时用户“还原广告标示符”,然后再回到程序中,此时获取广告标示符并不会立即获得还原后的标示符。必须要终止程序,然后再重新启动程序,才能获得还原后的广告标示符。之所以会这样,我猜测是由于ASIdentifierManager是一个单例。
针对广告标示符用户有一个可控的开关“限制广告跟踪”。Nick Arnott的文章中已经指出了。将这个开关打开,实际上什么也没有做,不过这是希望限制你访问广告标示符。这个开关是一个简单的boolean标志,当将广告标示符发到任意的服务器端时,你最好判断一下这个值,然后再做决定。
示例: 1E2DFA89-496A-47FD-9941-DF1FC4E6484A
【参考】
http://www.cnblogs.com/wangyutao/archive/2013/04/25/3042150.html http://www.cocoachina.com/bbs/simple/?t145094.html
应用在iOS6及以下时,可以正确取道Mac地址,在iOS7上,会返回固定值。
这样带来的问题是无法区分具体的iOS设备,有些产品就非常难搞了,目前没有找到可以区分不同iOS设备的方法。
测试过mac地址,确实会返回固定值02:00:00:00:00:00.以后应该会用广告id吧advertisingIdentifier
二、使用advertisingIdentifier步骤
1、添加框架 AdSupport.framework 2、添加头文件 #import <AdSupport/ASIdentifierManager.h> 3、使用语句 NSString *adId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
三、advertisingIdentifier介绍
广告标示符(IDFA-identifierForIdentifier)
这是iOS 6中另外一个新的方法,advertisingIdentifier是新框架AdSupport.framework的一部分。ASIdentifierManager单例提供了一个方法advertisingIdentifier,通过调用该方法会返回一个上面提到的NSUUID实例。
NSString *adId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
跟CFUUID和NSUUID不一样,广告标示符是由系统存储着的。不过即使这是由系统存储的,但是有几种情况下,会重新生成广告标示符。如果用户完全重置系统((设置程序 -> 通用 -> 还原 -> 还原位置与隐私) ,这个广告标示符会重新生成。另外如果用户明确的还原广告(设置程序-> 通用 -> 关于本机 -> 广告 -> 还原广告标示符) ,那么广告标示符也会重新生成。关于广告标示符的还原,有一点需要注意:如果程序在后台运行,此时用户“还原广告标示符”,然后再回到程序中,此时获取广告标示符并不会立即获得还原后的标示符。必须要终止程序,然后再重新启动程序,才能获得还原后的广告标示符。之所以会这样,我猜测是由于ASIdentifierManager是一个单例。
针对广告标示符用户有一个可控的开关“限制广告跟踪”。Nick Arnott的文章中已经指出了。将这个开关打开,实际上什么也没有做,不过这是希望限制你访问广告标示符。这个开关是一个简单的boolean标志,当将广告标示符发到任意的服务器端时,你最好判断一下这个值,然后再做决定。
示例: 1E2DFA89-496A-47FD-9941-DF1FC4E6484A
【参考】
http://www.cnblogs.com/wangyutao/archive/2013/04/25/3042150.html http://www.cocoachina.com/bbs/simple/?t145094.html
相关文章推荐
- 如何使用advertisingIdentifier(IOS7不能获得MAC地址)
- 如何使用advertisingIdentifier(IOS7不能获得MAC地址)
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- Andrdoi 如何获得某个月份最后一天(或号数最大那天)的号数?--使用getActualMaximum(Calendar.DAY_OF_MONTH)!
- 使用ADO如何获得SQLSERVER 2K的数据库名的列表
- 如何使用 C# 爬虫获得专栏博客更新排行
- springsecurity中如何做到多个用户不能使用同一个账号同时登陆系统
- 如何破解网站不能使用右键?
- 如何获得可使用的COM口
- Xcode升级到5之后,iphone的iOS7模拟器的大小和mini一样大 又如何使用原来的模拟器
- 对不支持CSS浏览器,如何获得提示信息,使用灵活的ALT属性
- 如何获得android系统已使用的内存
- 如何使用 C# 爬虫获得专栏博客更新排行