【发布时间】:2019-07-13 09:42:11
【问题描述】:
我最近在我的混合应用程序中将 UIWebview 替换为 WKWebview。我正在使用自定义方案从应用程序的本机部分加载图像,正如 Apple 在此处推荐的那样:
https://developer.apple.com/videos/play/wwdc2017/220/
我正在从一个看起来像 mycustomscheme://?path=somepath 的 url 加载图像
我添加了 Content-Security-Policy 标头以允许混合内容,它看起来像这样(删除了不相关的部分):
Content-Security-Policy: default-src 'self' www.myurl.com ; img-src 'self' mycustomscheme: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ; report-uri https://www.myreporturl.com/
这适用于大多数设备,并允许对mycustomscheme 的请求通过,如果有任何内容被阻止,则向myreporturl 报告。但是,在某些设备上,自定义请求会因以下错误而被阻止:
[Warning] [blocked] The page at https://www.myurl.com was not allowed to display insecure content from mycustomscheme://?path=somepath 并且没有报告发送到myreporturl,就好像根本没有加载标题一样。
我已确认实际发送了标头,并且有问题的设备运行的是最新的 iOS (12.1.4)。
任何关于如何防止我的自定义请求被阻止的建议将不胜感激!
【问题讨论】:
标签: ios wkwebview content-security-policy