需求驱动技术,有了新的需求,旧技术无法实现时,就会有新的技术出现。
一般的APP跳转需求有以下几种:
1. 从自己的APP跳转到别人的APP。
2. 从自己的APP跳转系统APP。
3. 让别人的APP调起自己的APP。
这三种跳转的常见操作参考
iOS URL Schemes实现APP之间的跳转
这些是旧的需求,上面一篇文章基本可以涵盖。
在此基础上有了新的需求,基于第二条需求:“从自己的APP跳转系统APP”。升级为从自己的APP打开Safari而不刷新页面。
我们都知道(从上面的文章里也可以看出来),要想打开Safari,就需要通过openURL方法传入地址,才可以打开。而一旦传入地址,Safari就会打开或刷新页面。因此这个方法是行不通的。
但是打开APP并不是说只能通过urlScheme,另一种方法是通过包名打开APP。参考:
如何通过包名打开手机里的APP
这种方式就可以完美的实现打开Safari而不刷新页面。
关于如何获取APP的包名,给出以下几种方式
1. ASO排名能搜到的APP都可以拿到包名,这是App Store上架的APP。
2. 另一种方式是 通过模拟器拿到预装软件的包名。参考:https://github.com/lanvsblue/AppBrowser
以上亲测可行,与君共勉!