iOS 14 requestTrackingAuthorization 状态总是被拒绝

Posted

技术标签:

【中文标题】iOS 14 requestTrackingAuthorization 状态总是被拒绝【英文标题】:iOS 14 requestTrackingAuthorization status always denied 【发布时间】:2020-12-20 21:06:19 【问题描述】:

我正在尝试为 Admob ios 14 准备我的应用,我阅读了这篇文章:

https://developers.google.com/admob/ios/ios14

我做了他们写下的所有事情,但是当我运行这个命令时:

func requestIDFA() 
    if #available(iOS 14, *) 
        ATTrackingManager.requestTrackingAuthorization(completionHandler:  [self] status in
            loadAdMob()
        )
     else 
        loadAdMob()
    

状态总是被拒绝并且没有弹出消息显示。

我同意:

    允许应用请求跟踪 个性化广告

设置应用中的标志。

我也尝试删除应用程序,但仍然是同样的问题,知道是什么问题吗?

编辑: 跟踪设置屏幕:

【问题讨论】:

设置 - 隐私 - 跟踪检查是否选中了所有复选标记 @Andrew 我用跟踪截图更新了我的帖子,还有什么我遗漏的吗? 嗯,一切看起来都正确。愚蠢的问题,但你确定你使用 iOS 14 的设备或模拟器吗?您是否尝试重新启动设备? @Andrew 是的,当然,在我的 iPhone 中使用 ios 14.3,尝试重启几次 @YosiFZ 我遇到了同样的问题。毕竟我用“擦除所有内容和设置”恢复了设备。顺便说一句,“重置所有设置”根本不起作用。从那以后你有没有找到任何解决方案? 【参考方案1】:

最终对我有用的是“常规->重置->重置所有内容和设置”。

然后当我安装我的应用程序时出现提示,我可以选择允许跟踪。之后我的应用程序出现在设置中,这是以前没有的,点击它有一个禁用/启用跟踪的选项。该应用现在也出现在隐私/跟踪中,这是以前没有的。

我通过删除应用程序并重新安装进一步测试,它再次显示允许跟踪的消息。

我认为 ATT 无法按预期工作的唯一原因是所有在 iOS 14.4 / ATT 之前安装的应用程序都被假定设置为“不允许跟踪”,但操作系统错过了将应用程序添加到设置页面所以没有办法改变它。虽然,这并不能解释为什么卸载/重新安装应用程序仍然不起作用。

总之,创建一个新的应用程序可能有效(未经测试),但恢复出厂设置确实有效。

【讨论】:

这个问题现在在 14.5.1 中修复了。【参考方案2】:

Apple 发布了 iOS 和 iPadOS 14.5.1。根据 Apple 的发布说明,该更新修复了 App Tracking Transparency 的错误,该错误可能会阻止某些用户接收来自应用的提示。

iOS 和 iPadOS 14.5.1 的发行说明

此更新修复了应用跟踪透明度的问题,其中一些 之前禁用了允许应用请求跟踪的用户 重新启用后,设置可能不会收到来自应用程序的提示。这 update 还提供重要的安全更新,推荐用于 所有用户。

更新了操作系统,现在我可以看到 ATT 对话框了。

【讨论】:

这也为我解决了这个问题。如果有人还在为此苦苦挣扎,请尝试更新到最新的 iOS。

以上是关于iOS 14 requestTrackingAuthorization 状态总是被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

iOS 14.4测试版发布,苹果官宣iOS 14安装率!

iOS 14 Filza 发布丨iOS 14 越狱也不远了!

iOS 14 Filza 发布丨iOS 14 越狱也不远了!

iOS 14.1正式版更新发布,14.2新测试版也来了~

iOS 14.1正式版更新发布,14.2新测试版也来了~

iOS 14测试版如何提前安装试用?