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

Get IDFA iOS 8 is always accessible even IDFA disabled in settings

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

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

        return [IDFA UUIDString];
    }
    return nil;
}

在这种方法中,我检查用户是否在此设备设置中启用了 IDFA 跟踪。它运作良好。我注意到,如果我在设备设置中切换 on/off IDFA 跟踪,IDFA 会一直发生变化。

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

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

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

有人有想法吗? 谢谢你。 此致,

isAdvertisingTrackingEnabled 的文档指出 -

Check the value of this property before performing any advertising tracking. If the value is NO, use the advertising identifier only for the following purposes: frequency capping, attribution, conversion events, estimating the number of unique users, advertising fraud detection, and debugging

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