美文网首页ios进阶酷
判断iOS设备上是否安装某个应用以及应用跳转

判断iOS设备上是否安装某个应用以及应用跳转

作者: 加菲貓的日常 | 来源:发表于2017-03-03 10:00 被阅读1273次

有的时候需要跳转到别的APP,这个时候就需要一些设置,

步骤如下:

一:设置UrlSchemes : 在需要跳转的APP中设置自己的UrlSchemes,方便跳转

二:如果调用canOpenURL:  需要在调用的APP中设置被调用APP的白名单,如下:

三:编写代码

#pragma mark - 判断是否安装了APP

- (void)checkWhetherHasInstalledAppWithUrlSchemes:(NSString *)urlSchemes

{

NSURL *URL = [NSURL URLWithString:urlSchemes];

UIApplication *application = [UIApplication sharedApplication];

// 方式一 :

// 判断是否安装了APP

/*

if ([application canOpenURL:URL]) {

NSLog(@"已经安装,并且可以打开");

if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {

// iOS10及以上判断方式

[application openURL:URL options:@{}

completionHandler:^(BOOL success) {

NSLog(@"iOS10及以上Open %@: 是否成功%d",urlSchemes,success);

if (!success) {

// 没有成功

NSLog(@"iOS10 进入app失败");

}

}];

} else {

BOOL success = [application openURL:URL];

NSLog(@"Open %@: %d",urlSchemes,success);

if (!success) {

// 没有成功

NSLog(@"进入app失败");

}

}

}

else

{

NSLog(@"不能打开");

}

*/

// 方式二:

// 直接进入,不成功就弹出提示即可, 建议使用这种方式

if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {

// iOS10及以上判断方式

[application openURL:URL options:@{}

completionHandler:^(BOOL success) {

NSLog(@"iOS10及以上Open %@: 是否成功%d",urlSchemes,success);

if (!success) {

// 没有成功

NSLog(@"iOS10 进入app失败");

}

}];

} else {

BOOL success = [application openURL:URL];

NSLog(@"Open %@: %d",urlSchemes,success);

if (!success) {

// 没有成功

NSLog(@"进入app失败");

}

}

}


四:调用方法

[self checkWhetherHasInstalledAppWithUrlSchemes:@"tableview123://com.jd.tableView"];


五:注意事项

1、下面是判断是否可以打开URL,其实可以绕过这个判断,直接调用下面的方法进行跳转:

2、运行的时候有可能出现一下提示,请按照步骤设置即可:

附上Demo下载地址:Demo地址

参考链接:

http://blog.csdn.net/u011619283/article/details/53331597

相关文章

网友评论

  • ad193b2e3cf5:你好请问我在低版本的Xcode写的sdk用canopenurl来判断应用是否安装了app,但别人在Xcode8上调用我的sdk,这个判断会不会失效或者报错?
    加菲貓的日常:应该不会,除非哪天苹果弃用这个方法,通过查看苹果的API可知这些方法的使用权限 : http://omwiek81b.bkt.clouddn.com/172267F4-1835-4AEE-83B0-C20D72269475.png

本文标题:判断iOS设备上是否安装某个应用以及应用跳转

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