美文网首页
使用 canOpenURL 来检测是否安装了被指定的 APP

使用 canOpenURL 来检测是否安装了被指定的 APP

作者: redye | 来源:发表于2015-10-30 14:57 被阅读2631次

准备:现在有两个 APP  A 和 B,现在要在 B 里面检测是否安装了A。

方法:使用 [[UIApplication sharedApplication] openURL:url] 来判断设备是否安装了 APP A

一般来说,在 APP 中如果自定了 URL Types ,如下图:

NSString *urlString = @"first://";

NSURL *url = [NSURL URLWithString:urlString];

if ([[UIApplication sharedApplication] canOpenURL:url]) {

        [[UIApplication sharedApplication] openURL:url]

}

在 APP B中使用 [[UIApplication sharedApplication] openURL:url] 就能判断设备是否安装了 A 了,如果您的 iOS 系统是 9 以下,恭喜您,您应该已经成功了,但是不幸的是,笔者已经升级到 Xcode 7 与 iOS 9 了,说到这里,您大概也已经猜到了,结果肯定是失败的,失败的错误信息是:"first://myparams" - error: "This app is not allowed to query for scheme first", 这是 9 的新特性,为了用户的隐私安全,在检测的 APP (也就是这里的 APP B )中,必须将 APP A 设置成白名单之后才能通过 canOpenURL 的检测。

注意这里需要添加 白名单 的是  APP B,而不是被检测的 APP A,笔者就是给弄反了,折腾了好久才弄出来。 

相关文章

网友评论

      本文标题:使用 canOpenURL 来检测是否安装了被指定的 APP

      本文链接:https://www.haomeiwen.com/subject/avqpcttx.html