就像您现在一样,Apple 改变了广告和跟踪方面的移动开发规则。
Apple 准备了新的 Beta 14.5 iOS 版本。在此版本中,跟踪将受到限制。因此,我想在我的应用程序中模拟此选项。
当我将手机更新到 14.5 iOS 版本(Beta)和 Xcode(版本 12.5 beta 3 (12E5244e))时,“允许应用程序请求跟踪”选项显示为灰色,并且无法更改。
因此,在下面的代码片段中,由于上述问题,始终返回 .restricted。
func requestPermission() {
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Tracking authorization dialog was shown
// and we are authorized
print("Authorized")
// Now that we are authorized we can get the IDFA
print(ASIdentifierManager.shared().advertisingIdentifier)
case .denied:
// Tracking authorization dialog was
// shown and permission is denied
print("Denied")
case .notDetermined:
// Tracking authorization dialog has not been shown
print("Not Determined")
case .restricted:
print("Restricted")
@unknown default:
print("Unknown")
}
}
} else {
// Fallback on earlier versions
}
}
所以,我因为这个问题陷入了困境。您有什么选择/建议吗?
不是:在 iOS 14.2 版本中一切都很好,并且“允许应用程序请求跟踪”选项可以更改。但现在它是灰色的。
最佳答案
这对我有用
func requestIDFA() {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
// Tracking authorization completed. Start loading ads here.
})
} else {
// Fallback on earlier versions
}
}
}
IF you are using Appdelegate call it from ApplicationDidBecomeActive and if you are using Scenedelegate call it from SceneDidBecomeActive
关于ios - Swift - 应用程序跟踪透明度 - 由于 ‘Allow Apps to Request to Track’ 变灰而没有显示弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67034511/