获取IDFA即使在设置中禁用IDFA,也始终可以访问iOS 8

时间:2015-01-20 09:20:34

标签: ios iphone ios8 idfa

我需要在我的应用中使用IDFA(iOS8)。 我这样继续获取IDFA字符串:

- (NSString *)identifierForAdvertising
{
    if([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled])
    {
        NSUUID *IDFA = [[ASIdentifierManager sharedManager] advertisingIdentifier];

        return [IDFA UUIDString];
    }
    return nil;
}

在此方法中,我会检查用户是否启用此设备设置中的IDFA跟踪。它运作良好。我注意到,如果我在设备设置中打开/关闭IDFA跟踪,IDFA会一直更改。

但是:即使禁用了IDFA(在iOS设置中),我也可以通过直接致电来获取:

NSLog(@"==>IDFA %@", [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]);

即使我重启我的应用程序,它仍然是一样的。我不明白为什么以及它如何运作。

有人有想法吗? 谢谢。 的问候,

1 个答案:

答案 0 :(得分:4)

isAdvertisingTrackingEnabled州的文档 -

  

在执行任何广告之前检查此属性的值   跟踪。如果值为NO,则仅使用广告标识符   以下用途:频次上限,归属,转换   事件,估计独特用户的数量,广告欺诈   检测和调试

因此,您需要在跟踪过程中尊重此属性的值,但即使禁用跟踪,您也可以将广告标识符用于其他目的。