@
theolin 「 iOS 系统层面对 app 跳转没有任何的约束。」
---
我觉得不是这样的。
1. 首先,找一些 iOS App 的 URL Scheme 。比如
京东 openapp.jdmobile://
美团 imeituan://
(更多详见:
https://gist.github.com/zhuziyi1989/3f96a73c45a87778b560e44cb551ebd2 )
2. 然后在方便连接的设备上写一个简单的 HTML 网页,其中包含<a>,指向刚才的 URL Scheme 。
示例:
<body>
<a href="imeituan://">跳转到美团</a>
<a href="openapp.jdmobile://">跳转到京东</a>
</body>
3. 用除了 Safari 之外的第三方 iOS 浏览器打开刚刚写好的这个网页,并点上面的链接。
如果是第一次从你打开的这个浏览器跳转到京东 /美团的话,iOS 会弹出一个对话框:「 XX 浏览器想要打开“美团”」——我相信这是 iOS 系统的提示,而不是浏览器的提示。
当你点「打开」后,再回到刚刚的浏览器,再点一次「跳转到美团」的链接,这次就不会再有对话框了。
这说明,iOS 系统记住了用户上次的选择,不再阻止浏览器跳转到美团 App 了。并且用户也没有办法重新让这个对话框显示。
本次示例是我自己写的 HTML 网页,而真是的案例是:
我在某第三方浏览器中打开「
m.jd.com 」,如果是第一次,iOS 会提示上述弹窗,如果我点「打开」,那么我这辈子就没办法在这个第三方浏览器里浏览「
m.jd.com 」了。因为 iOS 记住了我的选择,默认跳转到京东 App 了。