iOS 如何判断ios设备中是否安装了某款应用并用URL Scheme跳转
2016-08-30 16:43
471 查看
第1步:.想要检测是否安装的话,首先需要知道这款应用的URL Schemes,方法如下
上这个网站 URL Schemes 查一下相应的 app 的 URL Scheme 是否有被收录
第一种方法没找到的话,把相应的 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
获取一个 app 的 URL Scheme 的方法:
上这个网站 URL Schemes 查一下相应的 app 的 URL Scheme 是否有被收录 第一种方法没找到的话,把相应的 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
相关文章推荐
- iOS如何判断设备中是否安装了某款应用
- 如何判断ios设备中是否安装了某款应用
- 如何判断ios设备中是否安装了某款应用
- 如何判断ios设备中是否安装了某款应用
- 如何判断ios设备中是否安装了某款应用
- 如何判断ios设备中是否安装了某款应用
- 如何判断ios设备中是否安装了某款应用
- 如何判断ios设备中是否安装了某款应用
- 如何判断ios设备中是否安装了某款应用
- IOS 判断手机设备上是否安装某款应用
- ios 获取 应用路径 来判断是否安装这个应用
- Android Tips: 如何判断所安装的应用是否为系统应用
- iOS 判断设备是否安装了某款应用
- ios 里如何判断当前应用的定位服务是否可用
- ios 里如何判断当前应用的定位服务是否可用
- IOS中如何判断程序是否是第一次安装使用
- iOS如何判断应用是否开启摄像头权限
- ios如何判断设备上是否安装了某款软件
- 根据包名如何判断此应用是否安装。
- 根据包名如何判断这个应用是否已经安装。