ATTrackingManager.requestTrackingAuthorization(completionHandler:) 的 status 参数返回 notDetermined 的原因可能是用户还没有决定是否允许应用跟踪他们的活动。为了解决这个问题,可以尝试在应用中添加以下代码:
import AppTrackingTransparency
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
requestPermission()
}
private func requestPermission() {
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// 用户已授权跟踪
case .denied:
// 用户未授权跟踪
case .notDetermined:
// 用户尚未做出决定,继续等待
case .restricted:
// 用户设备限制跟踪
@unknown default:
// 状态未知
break
}
}
}
}
在应用中调用 requestPermission 方法会请求用户授权跟踪,并根据返回的 status 参数执行相应的代码。需要注意的是,用户可能会在之后的某个时间点更改其跟踪授权设置,因此应用需要相应地处理这种情况。
上一篇:ATTrackingManager.AuthorizationStatus总是返回notDetermined
下一篇:ATTrackingManager.requestTrackingAuthorization始终返回未确定,并且从未显示提示