iOS 14版本正在捕获第三方的auth/device,我们似乎需要禁用智能跟踪预防(ITP)。可用文档(planet.webkit.org)建议我们在项目的Info.plist中设置一个特定的设置键和“目的字符串”:
在WKWebView中的智能跟踪预防
此外,在iOS 14.0和macOS大Sur中,智能跟踪预防(ITP)在所有WKWebView应用程序中默认启用。..。
在某些极端情况下,用户可能需要禁用ITP保护,例如当用户依赖应用程序开发人员无法控制的web内容时。NSCrossWebsiteTrackingUsageDescription应用程序可以通过在应用程序的Info.plist中添加键的目的字符串来表示允许用户禁用ITP的需要。当出现此键时,该键会导致应用程序的设置屏幕显示用户控件以禁用ITP。无法通过API调用读取或更改设置。
我相信我是这样做的:
<!-- Info.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
...
<key>NSCrossWebsiteTrackingUsageDescription</key>
<string>Allow authentication and device trackers.</string>
...
</dict>
</plist>我期望一个模态iOS对话框显示请求许可,使用该文本解释权限请求。然而,我从未收到任何对话或请求,而且ITP仍在干扰auth/设备识别过程。
这可能取决于以下在实践中的含义。
此键导致应用程序的设置屏幕显示用户控件以禁用ITP。
如何使此过程工作并允许禁用ITP?
发布于 2020-11-18 21:21:26
这里的解决方案是添加一个设置包(或类似的设置),它允许iOS设备从设备的设置应用程序中显示一个设置页面。本质上,遵循Settings.bundle tutorial和Info.plist设置的NSCrossWebsiteTrackingUsageDescription将触发设置切换在下面的屏幕截图。
但是,不知道为什么它不使用“目的字符串”值。

https://stackoverflow.com/questions/64897054
复制相似问题