支持 ATTrackingTransparency在更新 iOS 14.5 后, 注意到了苹果发的消息,说是要支持 ATTrackingTransparency 的
于是立马尝试了下,但是居然发现一请求就是受限制的
<key>NSUserTrackingUsageDescription</key>
<string>是否允许我们的APP使用您的IDFA信息,以此来优化您的使用体验,定向提供服务</string>
- (void)getAdvertisingTrackingAuthority {
if (@available(iOS 14, *)) {
ATTrackingManagerAuthorizationStatus status = ATTrackingManager.trackingAuthorizationStatus;
switch (status) {
case ATTrackingManagerAuthorizationStatusDenied:
NSLog(@"用户拒绝IDFA");
break;
case ATTrackingManagerAuthorizationStatusAuthorized:
NSLog(@"用户允许IDFA");
break;
case ATTrackingManagerAuthorizationStatusNotDetermined: {
NSLog(@"用户未做选择或未弹窗IDFA");
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
NSLog(@"app追踪IDFA权限:%lu",(unsigned long)status);
}];
}
break;
case ATTrackingManagerAuthorizationStatusRestricted: {
NSLog(@"用户受限制IDFA");
}
break;
default:
break;
}
}
}
一来就是 ATTrackingManagerAuthorizationStatusRestricted 的,不弹出那个提示框的,于是跑到隐私中追踪一看,尴尬了,默认不可以点击的
iOS 14.5当然作为用户来说,我觉的永远不打开也是OK的,但也好奇下到底如何打开的的
通过搜索发现有网友已经找到方法了: iOS14.5隐私追踪功能现重大bug!IDFA选项变灰且无法开启(附解决方案)
然后尝试第一种方法后,立即变成如下了
恢复
OK, 此时再来重新获取
ATTrackingManager.trackingAuthorizationStatus
的时候,我就可以获取到那个弹窗啦, 所以说这个除了是用户主动关掉,还有可能是受限制的ATTrackingManagerAuthorizationStatusRestricted
的,此处 iOS 14.5 算是其 BUG 的,而且很明显的。
网友评论