iOS10之后openURL:方法过期之后的替代方法及使用
Posted JusDoit
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS10之后openURL:方法过期之后的替代方法及使用相关的知识,希望对你有一定的参考价值。
目前苹果为ios10开放了一个key:UIApplicationOpenURLOptionUniversalLinksOnly但亲测无效
目前使用的是这个key:UIApplicationOpenURLOptionsSourceApplicationKey
iOS10 以后,canurl 与openurl合并一个 可以实现动态跳转不用配置
iOS10之后openURL:方法过期,
新方法如下:
options:@{UIApplicationOpenURLOptionsSourceApplicationKey : @YES} //参数是一个字典
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:url] options:@{UIApplicationOpenURLOptionsSourceApplicationKey : @YES} completionHandler:^(BOOL success) {
//成功后的回调
if (!success) {
//失败后的回调
}
}];
demo:
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:url] options:@{UIApplicationOpenURLOptionsSourceApplicationKey : @YES} completionHandler:^(BOOL success) {
if (!success) {
UIAlertController *aler = [UIAlertController alertControllerWithTitle:@"不能完成跳转" message:@"请确认App已经安装" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"确定"style:UIAlertActionStyleCancel handler:nil];
[aler addAction:cancelAction];
[self presentViewController:aler animated:YES completion:nil];
}else if(back){
[self dismissViewControllerAnimated:YES completion:nil];
}
}];
以上是关于iOS10之后openURL:方法过期之后的替代方法及使用的主要内容,如果未能解决你的问题,请参考以下文章
在 didFinishLaunchingWithOptions 之后几秒钟调用应用程序 openURL
如果路径包含空格,QDesktopServices::openUrl() 将失败(在“apt-get upgrade”之后)
作为UIApplication单例对象的方法 openURL方法的变化