iOS10跳转其它应用报错解决


现有APPA,APPB,需求为在APPA中打开APPB。首先在APPA中检测设备中是否安装了APPB.

检测方法:

iOS10以前的方法

if ([[UIApplication sharedApplication] canOpenURL:url]) {
    [[UIApplication sharedApplication] openURL:url];
}

iOS10以后,直接打开

NSDictionary<NSString \*,id>\*options = @{UIApplicationOpenURLOptionsSourceApplicationKey : @YES};
[[UIApplication sharedApplication] openURL:url options:options completionHandler:^(BOOL success) {
            
}];

通常情况下,设定一个APP能被其它APP打开,需要配置URL Types.此处,我们在APP_B中配置URL Types如图 


设置完成后,将APPB安装到设备中,在APPA中使用如下代码打开NSString *urlString = @"APP_B://"; NSURL *url = [NSURL URLWithString:urlString]; if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sharedApplication] openURL:url] }如果设备的系统为iOS9以下,那么可以成功打开,如果是iOS9及以上,会得到错误的信息 "APP_B://myparams" - error: "This app is not allowed to query for scheme first" 这是 iOS9 的新特性,为了用户的隐私安全,在检测的 APPA中,必须将 APPB 设置成白名单之后才能通过 canOpenURL 的检测。 如图,在APP_A的info.plist中设置如下 


再次尝试,成功打开。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值