iPhone-从我的应用程序iOS 6打开设置

roh*_*tel 18 iphone objective-c ios

我知道有很多与此相关的问题.

1)是否可以使用openURL打开设置应用程序?

2)从另一个应用程序打开设置应用程序

3)iOS启动设置 - >限制URL方案

我已经按照这些问题进行了参考,但这并没有解决我的疑问.我知道使用openURL方法你可以打开设置,但这只适用于iOS 5.0 - 5.0.1.在iOS 5.1中,它已被弃用.

  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]]; 
Run Code Online (Sandbox Code Playgroud)

我仍然看到许多应用程序主要基于位置,要求用户启用位置服务的权限,并直接转到设置 - >隐私下的位置服务.安装在iOS 6.1运行设备上的应用程序的屏幕截图显示,点击"设置"会将您带到直接位置服务.

我试图在我的应用程序中运行代码,但它无法正常工作(我想将用户带到"设置"页面,以允许我的应用程序直接从我的应用程序访问联系信息).如果Apple为此禁用了URL方案,那么许多应用程序仍在使用它?

在此输入图像描述

Coc*_*ica 26

对于与位置等服务相关的应用程序,当他们第一次请求访问时,操作系统将使用链接到"设置"的按钮抛出警报.这不是由应用程序操作,而是由操作系统的底层安全性操作.

如上所述,iOS 6自行删除了自行执行此操作的功能.


Raj*_*071 16

您可以在iOS8中以编程方式打开设置应用程序,但不能在早期版本的iOS中打开.

在Swift中:

UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString));
Run Code Online (Sandbox Code Playgroud)

斯威夫特4:

if let url = NSURL(string: UIApplicationOpenSettingsURLString) as URL? {
    UIApplication.shared.openURL(url)
}
Run Code Online (Sandbox Code Playgroud)

在Objective-C中

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
Run Code Online (Sandbox Code Playgroud)

  • 我会说,复制下来[someones answer](http://stackoverflow.com/a/24952919/818506)是一种抄袭. (4认同)
  • Swift代码有语法错误 - 需要显式解包NSURL,并且不需要分号.我的编辑被拒绝,但无论如何 - 这是正确的声明:`UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString)!)` (4认同)
  • 顺便说一句,我们并非**都知道 (3认同)