我需要在我的应用中使用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]);
即使我重启我的应用程序,它仍然是一样的。我不明白为什么以及它如何运作。
有人有想法吗? 谢谢。 的问候,
答案 0 :(得分:4)
isAdvertisingTrackingEnabled
州的文档 -
在执行任何广告之前检查此属性的值 跟踪。如果值为NO,则仅使用广告标识符 以下用途:频次上限,归属,转换 事件,估计独特用户的数量,广告欺诈 检测和调试
因此,您需要在跟踪过程中尊重此属性的值,但即使禁用跟踪,您也可以将广告标识符用于其他目的。