实现逻辑
iOS支持通过Scheme唤醒APP。
操作步骤
被唤醒的APP端的设置:即B端
- 在需要被打开的app的
info.plist
中的url types
添加对应的scheme
来标示自己,
此处的示例为x123456
需要唤醒其它APP的APP端的设置:即A端
在需要打开其它APP的APP端的
info.plist
中的添加LSApplicationQueriesSchemes
字段,同时设置值为被打开APP-B的标示,此处的示例为x123456
添加代码逻辑
NSString *urlStr = @"x123456://";
if( [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:urlStr]] ) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr] options:@{} completionHandler:nil];
}
小彩蛋
如果在唤醒端APP-A端没有设置LSApplicationQueriesSchemes
字段的情况下,是否可以唤醒需要被唤醒的APP-B端呢?
- 可以试试在APP-A端的
info.plist
中的url types
添加对应APP-B端的scheme
来试试,或许有惊喜。