我知道有很多与此相关的问题。
1)is it possible to open Settings App using openURL?
2)Opening the Settings app from another app
3)iOS Launching Settings -> Restrictions URL Scheme
我已将这些问题作为参考,但这并不能解决我的问题。我知道使用openURL
方法可以打开“设置”,但这仅适用于iOS 5.0 - 5.0.1。在iOS 5.1中,它已被弃用。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];
我仍然看到许多应用程序主要基于位置,要求用户启用位置服务的权限,并直接转到设置 - >下的位置服务。隐私。下面显示安装在iOS 6.1运行设备上的应用程序的屏幕截图显示,点按“设置”会将您带到位置服务。
我尝试在我的应用程序中运行代码,但它无法正常工作(我想将用户带到“设置”页面,以允许我的应用程序直接从我的应用程序访问联系人信息)。如果Apple为此禁用了URL方案,那么许多应用程序仍在使用它?
答案 0 :(得分:26)
对于与位置等服务相关的应用程序,当他们第一次请求访问时,操作系统会使用链接到“设置”的按钮抛出警报。这不是由应用程序操作,而是由操作系统的底层安全性操作。
iOS 6删除了您自己提到的功能。
答案 1 :(得分:16)
您可以在iOS8中以编程方式打开设置应用程序,但不能在早期版本的iOS中打开。
在Swift中:
UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString));
Swift 4:
if let url = NSURL(string: UIApplicationOpenSettingsURLString) as URL? {
UIApplication.shared.openURL(url)
}
在Objective-C
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];