为什么要禁用URL Scheme
和Universal Link
(通用链接)
通常我们APP中都会嵌套一些web页面,有时我们的web页面会被DNS劫持从而跳转到其他APP中;或者是某些APP的Universal Link
(通用链接)设置的比较容易触发,当web跨域跳转就有可能跳转到这些APP。比如苏宁易购的Universal Link
(通用链接)为*.m.suning.com
,只要web进行跨域跳转*.m.suning.com
就会拉起苏宁易购APP。在这种情况下的话我们就需要在我们的APP中对web做一些处理从而来禁止拉起这些APP。
在iOS 9.0之后如果需要使用URL Scheme
唤起APP的话需要在info.plist中增加白名单,只有在白名单中的URL Scheme
才可以使用,因此可以禁止跳转到意料之外的APP。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>openapp.jdmobile</string>
</array>
WKWebView
在iOS8.0后APP推出的WKWebView
是现有大部分APP中常用的控件之一。
-
WKWebView
中URL Scheme
禁用和启用即使在info.plist中设置了白名单但是
WKWebView
对URL Scheme
默认是不支持的,如果要支持URL Scheme
需要做一些处理</