加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在iOS10上跳转到系统设置的位置服务?

发布时间:2020-12-14 19:34:30 所属栏目:百科 来源:网络整理
导读:在我问这个问题之前,我试过了: 使用[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“prefs:root = Privacy path = LOCATION”]];它在iOS8和iOS9上运行正常,但iOS10上没有任何问题. 使用[[UIApplication sharedApplication] openURL
在我问这个问题之前,我试过了:

>使用[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“prefs:root = Privacy& path = LOCATION”]];它在iOS8和iOS9上运行正常,但iOS10上没有任何问题.
>使用[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];它在iOS8和iOS9上也能正常工作.但是,在iOS10上,当应用程序跳转到系统设置时,系统设置立即退出.
>使用[[UIApplication sharedApplication] openURL:url options:@ {} completionHandler:nil];它在iOS8和iOS9上崩溃,同样,在iOS10上立即退出.

问题是我们的应用程序可以跳转到iOS10上的系统设置吗?如果是的话.如何[和UIApplication sharedApplication] openURL:url选项:@ {} completionHandler:nil];什么是optionsmeans?我们必须为选项编写代码吗?

解决方法

一段时间以来,只允许应用在设置应用中打开自己的设置窗格.过去曾有过各种设置网址,但最近Apple拒绝使用这些网址的应用.

您可以打开自己的应用程序设置:

if let url = URL(string:UIApplicationOpenSettingsURLString) {
    UIApplication.shared.open(url,options: [:],completionHandler: nil)
}

或者在Objective-C中

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if (url != nil) {
    [[UIApplication sharedApplication] openURL:url options:[NSDictionary new] completionHandler:nil];
}

如果您的目标是早于10的iOS版本,那么您可能更愿意使用旧的,已弃用但功能正常的方法:

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if (url != nil) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
    [[UIApplication sharedApplication] openURL:url];
#pragma clang diagnostic pop
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读