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”之后)

openURL:在 iOS 10 中已弃用

作为UIApplication单例对象的方法 openURL方法的变化

使用动态链接首次下载后更新应用程序时未调用 openURL 方法

iOS打电话发短信