app之间的相互唤醒,大概方向有两个方案,具体如下:
一、应用A内直接唤醒另外一个应用B并且打开一个链接
1、应用A在info.plist的LSApplicationQueriesSchemes中增加应用B的scheme,为白名单
2、通过[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"scheme://"]] 来判断是否可以打开,不进行第一步的添加返回始终是NO
3、服务端需要提供两个链接,一个是scheme://https://www.baidu.com,一个是跳转到应用B的AppStore的链接
4、第二步为YES,手机已下载应用B,使用scheme://https://www.baidu.com;为NO,手机不存在应用B,跳转到应用B的AppStore的链接
5、应用B需要在AppDelegate中支持openURL的协议,如下图:
二、应用A通Safari(应用A内的WKWebView)加载一个中间页唤醒另外一个应用B并且打开一个链接
1、应用A需要调起Safari(应用A内的WKWebView),加载出来中间页
2、点击中间页的打开应用B的按钮,中间页加载scheme://https://www.baidu.com,即可以打开应用B
3、应用B也需要支持第一种方案的第五步骤
以上两个方法都是可行的,体验来说第一步比较顺滑,稍有麻烦点儿,第二步需要中转一下,就看需求是否需要这个中间页来做宣传