我们有一个在 Webview 中显示 HTML 内容的应用程序。目前提供给 Webview 的内容来自非安全域。从 iOS10 开始,它应该从安全域提供服务,因此在迁移之前需要消除一些疑虑。
安全的 HTML 页面 (https) 是否也应该具有来自安全服务器的 CSS 和 JS 链接?因为一些 CSS 和 JS 可能来自第三方服务器。
如果安全的 HTML 页面 (https) 加载到 Webview 中,并且有一些不安全的链接 (http),当用户点击时,这些链接会加载到 Webview 中吗?
在此先感谢您的帮助。
我做了一个快速测试,似乎需要由UIWebView
要正确显示页面,必须遵守 ATS 规则,但也要遵循您在Info.plist
为您的项目。如果我尝试点击指向非 https 站点的链接UIWebView
,它也给了我错误。
我认为你最好的选择是使用SFSafariViewController
有条件地适用于 iOS 9 用户。您可以继续使用UIWebView
适用于不严格执行 ATS 的 iOS 7 和 iOS 8 设备。这会增加一些额外的代码,但应该是最少的。
另外,只是对 Apple 在应用程序传输安全执行方面所做的更改进行澄清。他们宣布应用程序需要应用程序传输安全2016年12月31日后提交。这意味着影响并不主要取决于用户的设备操作系统,而是取决于提交的开发人员。另外,苹果仍然允许例外可以添加,只要你有理由。我们尚不知道苹果会允许哪些类型的理由。最后,Apple 在 WWDC 会议上表示,应用程序仍然可以包含 ATS 要求的前向保密部分的例外情况,而无需单独的理由。不过,直到 2017 年 1 月 1 日,我们才确切知道这将如何运作。
Edit:Apple 似乎添加了一个新的例外,您可以使用它来允许非 ATS 连接UIWebview
and WKWebview
实例。这是NSAllowsArbitraryLoadsInWebContent
。这应该完全符合您的要求。以下是 ATS 最新动态的精彩总结:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)