1. plist文件里设置:
<key>NSUserTrackingUsageDescription</key>
<string>是否允许xxxxxxxx,以此来优化您的使用体验.</string>
2. 修改代码:
import AppTrackingTransparency
func applicationDidBecomeActive(_ application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
if #available(iOS 14, *) {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+2) {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
// Tracking authorization completed. Start loading ads here.
// loadAd()
})
}
} else {
// Fallback on earlier versions
}
}
ATTrackingManager.requestTrackingAuthorization { status in
switch status{
case .notDetermined:
print("Not Determined")
case .restricted:
print("Restricted")
case .denied:
print("Denied")
case .authorized:
print("IDFA value is: ", ASIdentifierManager.shared().advertisingIdentifier.uuidString)
@unknown default:
print("error")
}
// if #available(iOS 14, *) {
// guard ATTrackingManager.trackingAuthorizationStatus == .authorized else {
// return
// }
// } else {
// guard ASIdentifierManager.shared().isAdvertisingTrackingEnabled else {
// return
// }
// }
// // Print IDFA
// print(ASIdentifierManager.shared().advertisingIdentifier.uuidString)
}
3. 如果做了上述操作,还是没有弹窗,需要检查跟踪开关有没有被关闭,需要打开:
iOS14.7: Settings -> Privacy -> Tracking -> Allow Apps to Request to Track
iOS16: Setting -> Privacy & Security -> Tracking -> Allow Apps to Request to Track
如果还是没有弹窗,那就换个手机试试。
网友评论