如何使用advertisingIdentifier(IOS7不能获得MAC地址)
2016-11-05 17:04
302 查看
一、IOS7不能获得MAC地址
应用在iOS6及以下时,可以正确取道Mac地址,在iOS7上,会返回固定值。
这样带来的问题是无法区分具体的iOS设备,有些产品就非常难搞了,目前没有找到可以区分不同iOS设备的方法。
测试过mac地址,确实会返回固定值02:00:00:00:00:00.以后应该会用广告id吧advertisingIdentifier
二、使用advertisingIdentifier步骤
[objc] view plaincopy
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
应用在iOS6及以下时,可以正确取道Mac地址,在iOS7上,会返回固定值。
这样带来的问题是无法区分具体的iOS设备,有些产品就非常难搞了,目前没有找到可以区分不同iOS设备的方法。
测试过mac地址,确实会返回固定值02:00:00:00:00:00.以后应该会用广告id吧advertisingIdentifier
二、使用advertisingIdentifier步骤
[objc] view plaincopy
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
相关文章推荐
- 如何使用advertisingIdentifier(IOS7不能获得MAC地址)
- 如何使用advertisingIdentifier(IOS7不能获得MAC地址)
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- ireport中当使用connection方式获得数据源时如何构造sql语句的where条件。
- 如何使用Adobe Acrobat 8 Professional注册机获得激活码或注册码
- 公司不能只规划如何能在有效的范围内获得最大的利益
- 转:Oracle如何使用pipeline function获得实时输出
- 使用JAVA代码获得系统的MAC地址和IP地址
- 如何解决eWebEditor在线编辑器的远程自动上传功能不能使用的问题?
- ubuntu下 如何解决rubyEE安装后 ./script/console不能使用的问题
- 如何获得可使用的COM口
- 如何解决在excel工作表中鼠标的右键不能使用的问题
- 从寻找资源的习惯上谈如何获得好的代码及控件(使用Koders查找)