You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Adjust申请ATT授权在iOS 14正常但iOS 15失效问题咨询

Adjust ATT授权iOS15不生效问题排查及解决方案

问题现象

现有ATT授权申请逻辑在iOS14系统运行完全正常,iOS15系统上无法触发授权弹窗、回调不执行,原始实现代码如下:

if #available(iOS 14, *) {
        Adjust.requestTrackingAuthorization(completionHandler: { status in
            //you got permission to track
        })
    } else {
        //you got permission to track, iOS 14 is not yet installed
    }

排查方向及对应解决方案

  • Adjust SDK版本兼容性校验
    iOS15发布后,低于4.29.0版本的Adjust SDK未适配iOS15的ATT权限调用规则,调用接口会直接跳过弹窗与回调。
    解决方案:将Adjust SDK升级至4.29.0及以上稳定版本,升级后验证基础接口调用逻辑是否正常。
  • Info.plist权限声明校验
    iOS15对NSUserTrackingUsageDescription字段的校验规则更严格,若字段为空、内容模糊不符合苹果规范,系统会直接拦截权限申请,不会弹出授权窗口。
    解决方案:检查Info.plist中是否添加了NSUserTrackingUsageDescription字段,描述内容需明确告知用户权限用途,例如“我们将获取您的设备标识用于优化广告投放效果,提升应用使用体验”。
  • 接口调用时机校验
    iOS15要求ATT授权申请必须在应用处于前台激活状态时调用,若在didFinishLaunchingWithOptions中直接调用、或应用处于后台阶段触发调用,系统会直接忽略该请求。
    解决方案:将ATT授权调用逻辑移至根控制器的viewDidAppear生命周期之后,或监听UIApplicationDidBecomeActiveNotification通知,收到通知后再触发Adjust的ATT申请接口。
  • 全局ATT权限状态校验
    若用户之前已经拒绝过ATT权限、或在系统设置-隐私与安全性-跟踪中关闭了「允许App请求跟踪」总开关,所有ATT申请都会直接返回拒绝状态,不会弹窗,属于系统规则限制。
    解决方案:调用申请接口前先通过ATTrackingManager.trackingAuthorizationStatus属性预先获取当前权限状态,仅当状态为notDetermined时再发起申请,其他状态根据业务需求做对应处理。
  • 重复调用冲突校验
    若项目中其他第三方SDK、或自有逻辑已经先于Adjust调用过ATT申请接口,拿到确定的权限状态后,Adjust再调用该接口也不会触发弹窗与回调。
    解决方案:统一管理ATT权限申请入口,全局仅发起一次ATT申请,拿到结果后同步给Adjust和其他需要该权限的业务模块。

修正后参考代码

import AdSupport
import AppTrackingTransparency

if #available(iOS 14, *) {
    let currentStatus = ATTrackingManager.trackingAuthorizationStatus
    guard currentStatus == .notDetermined else {
        // 已有明确权限状态,根据currentStatus处理对应业务逻辑
        return
    }
    Adjust.requestTrackingAuthorization(completionHandler: { status in
        switch status {
        case .authorized:
            // 用户允许跟踪,执行后续上报逻辑
        case .denied, .restricted:
            // 用户拒绝/权限受限,按无权限逻辑处理
        case .notDetermined:
            // 未决定状态,常规流程不会走到该分支
        @unknown default:
            break
        }
    })
} else {
    // iOS14以下系统默认支持追踪,执行对应逻辑
}

内容的提问来源于stack exchange,提问作者luc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:39:02