前言
在做项目过程中总免不了苹果隐私这个问题,广告标识符便是其中的一个让人琢磨的事情。
一、IDFA代码实现
1、也许你在项目中一直在info.plist里设置权限申请:
这个描述可能被拒,建议说明得详细点如:
类似这样,就容易过审。
2、也许你在项目中也写了对应的广告标识符授权代码:
但是运行验证的时候却没有弹窗,下面是解决弹窗的方法:
1、iPhone手机没有设置广告标识符开关
检查设置---->隐私---->跟踪---->允许App请求跟踪开关是否打开。
2、iPhone手机iOS版本是否是iOS15以上
如果是iOS15以上,那么可能广告标识符不弹窗,因为iOS 15 对 AppTrackingTransparency 框架做了调整,需要满足以下 2 点:
- 应用当前的状态为 UIApplicationStateActive。
- 当前没有其他的授权弹窗。
当满足以上 2 点后,再检查 ATTrackingManagerAuthorizationStatus 和请求授权。因此,可以在以下的选项中选择一个作为调整方案:
1、启动应用后,延时 1~2 秒去检查和申请权限。
2、在主控制器的 “ViewDidAppear” 方法中检查和申请权限(推荐)。
3、在FinishLaunching和BecomeActive分别写请求授权方法请求
使用类似递归方式去获取授权:
延迟调用方法: