如果使用了 App Tracking Transparency
苹果要求在 iOS 14.5 及以上的版本中
必须 在弹框 取得用户同意后, 才可以跟踪用户
否则会被拒, 拒绝原因如下:
Guideline2.1-InformationNeeded
在 iOS 14.5 之后
必须在 plist 中添加 这个 Privacy - Tracking Usage Description 字段、
我写的值是:请放心,开启权限不会获取您在其他站点的隐私信息,该权限仅用于标识设备并保障服务安全与提示浏览体验。
1、添加 NSUserTrackingUsageDescription 声明
打开 info.plist、右键选择 Add Row、
Key 填写 Privacy - Tracking Usage Description
Value 简单描述收集用户数据的理由、
例如 我的 APP 广告 SDK 用来精准投放广告、
则填写 “该标识符将用于向您投放个性化广告”、
2、在合适的位置调用 requestTrackingAuthorization(completionHandler:) 方法、
弹框请求 在合适的位置(例如didFinishLaunchingWithOptions方法中)
我的 APP 是在初始化广告 SDK 时调用:
然后在 AppDelegate 中开启请求出现弹窗。代码如下:
在iOS15 断点调试,发现在回调时候 ATTrackingManagerAuthorizationStatus 还是 ATTrackingManagerAuthorizationStatusNotDetermined
然后经过一段时间发现大部分情况,将权限申请放在 ```applicationDidBecomeActive 调用可以通过审核
其他小概率不通过的,可以尝试下玄学延时方法 或者 进行状态循环检测