iOS 14 requestTrackingAuthorization 状态总是被拒绝

MTA*_*MTA 10 objective-c admob ios swift

我正在尝试为 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()
    }
}
Run Code Online (Sandbox Code Playgroud)

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

我同意:

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

设置应用程序中的标志。

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

编辑:跟踪设置屏幕:

在此处输入图片说明

Pix*_*xel 9

这事情最后工作对我来说是一个“常规- >重置- >重置所有内容和设置”。

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

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

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

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