iOS 如何判断ios设备中是否安装了某款应用并用URL Scheme跳转

原创 2016年08月30日 16:43:44

第1步:.想要检测是否安装的话,首先需要知道这款应用的URL Schemes,方法如下

获取一个 app 的 URL Scheme 的方法:

  1. 上这个网站  URL Schemes  查一下相应的 app 的 URL Scheme 是否有被收录 
  2. 第一种方法没找到的话,把相应的 app 的 ipa 安装文件下载下来,把文件 .ipa 的后缀改成 .zip,然后解压,打开 Payload/xxx.app/Info.plist 这个文件(具体方法:http://iphone.tgbus.com/tutorial/use/201505/20150511163706.shtml),找到 URL types 下的 URL Schemes 下的数组对应的值就是这个 app 的 URL Scheme 了,以 Weico 为例:

通过第二种方法,查到 新浪微博官方客户端 的 URL Scheme 为  sinaweibo://  , Weico 的 URL Scheme 则为  weico:// 或者  weico2://

简单验证一个 URL Scheme 是否正确的方法:

在真机设备(此设备要安装了待验证的 app)里面打开 Safari,然后在地址栏中键入该应用的 URL Scheme,后加 ://,比如 Weico 的,在地址栏中键入 weico:// ,然后点击确定,如果能正常调用出 Weico,即代表这个 URL Scheme 正确可用

上面说的方法只能获取到简单的 URL Scheme,至于接口调用,比如通过 URL Scheme 调用出发微博的界面,这个就要找具体 app 的开放平台了,或者借助于 google 搜索了。


第2步:检测是否暗转和安装之后进行跳转,方法如下

-(void)gotoBanbleApp{


    // xxx 是要检测的应用的 URL Scheme

    NSURL *url = [NSURL URLWithString:@"xxx://"];

    BOOL result = [[UIApplication sharedApplication] canOpenURL:url];

    

    if (result == YES) {

        

        [[UIApplication sharedApplication] openURL:url];

        

    }else{

    

        

        //提示用户去下载

        UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"提示" message:@"GoBand未安装,是否去安装" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"下载",nil];

        

        alert.tag=1003;

        [alert show];

        

    }

    


}


提示:可能会遇到的错误:
-canOpenURL: failed for URL: "xxx//" - error: "This app is not allowed to query for scheme goBan

问题分析:这是检测的应用遇到Scheme黑名单了,只需要加入白名单就好了,具体方法如下

解决方法:http://www.jianshu.com/p/631bd7f12a38


Scheme详解( web页面判断是否安装某app,并判断是否打开该应用)

参照页面: demo实例:http://blog.csdn.net/qq_30740239/article/details/51969660 Scheme详解:http://blog.csdn.n...

iOS_如何判断是否安装某个App并从另一个App中启动该App(未安装跳转到AppStore)

前言: 非越狱设备,在你的应用里无法知道系统安装了什么别的应用。  如果想要准确的通过程序控制和发现本地安装的应用,目前只能在破解版的ios 上开始显示,但是我们可以通过一些其他...

如何判断ios设备中是否安装了某款应用

主要思路就是 ,在要被识别的应用程序B的XCode的info.plist中        如果是Xcode 4.2  ,那么        1. 在info.plist 中 增加 一个  URL ...

iOS如何判断设备中是否安装了某款应用

主要思路就是 ,在要被识别的应用程序B的XCode的info.plist中        如果是Xcode 4.2  ,那么        1. 在info.plist 中 增加 一个  URL ...

如何判断ios设备中是否安装了某款应用

原始链接:http://bbs.9ria.com/thread-213612-1-1.html 主要思路就是 ,在要被识别的应用程序B的XCode的info.plist中...

如何判断ios设备中是否安装了某款应用

主要思路就是 ,在要被识别的应用程序B的XCode的info.plist中        如果是Xcode 4.2  ,那么        1. 在info.plist 中 增加 一个  URL ...

如何判断ios设备中是否安装了某款应用

主要思路就是 ,在要被识别的应用程序B的XCode的info.plist中        如果是Xcode 4.2  ,那么        1. 在info.plist 中 增加 一个  URL ...

IOS开发 自定义 URL Scheme(及应用内的跳转)

iPhone / iOS SDK 最酷的特性之一就是应用将其自身”绑定”到一个自定义 URL scheme 上,该 scheme 用于从浏览器或其他应用中启动本应用。   注册自定义 UR...

IOS 检测用户是否开启定位 和 利用URL Scheme跳转到系统设置Settings

开发中经常会碰到检测 用户是否开启定位权限  和 获取图片权限 开启系统通知 等 有时检测到用户系统级关闭,需要去设置里去开启。 通过URL Scheme的方式打开内置的Settings,代码如下:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS 如何判断ios设备中是否安装了某款应用并用URL Scheme跳转
举报原因:
原因补充:

(最多只允许输入30个字)