从其他应用打开“设置”应用

Opening the Settings app from another app

提问人:FelipeDev.- 提问时间:4/14/2011 最后编辑:CopsOnRoadFelipeDev.- 更新时间:7/10/2023 访问量:215436

问:

好吧,我知道有很多问题,但它们都是很久以前的事了。

所以。我知道这是可能的,因为地图应用程序做到了。

在地图应用程序中,如果我关闭此应用程序的本地化,它会向我发送一条消息,如果我按确定,“设置应用程序”将打开。 我的问题是,这怎么可能? 如何从我自己的应用程序打开“设置应用程序”?

基本上我需要做同样的事情,如果用户关闭了我的应用程序的位置,那么我会向他显示一条消息,说明将打开“设置应用程序”

iOS Objective-C iPhone 应用程序-设置 AppSettings

评论

0赞 Yatheesha 7/4/2014
检查这个 stackoverflow.com/questions/377102/...
1赞 Karan Dua 8/4/2014
您可以在 iOS8 中以编程方式打开设置应用程序(但不能在较低版本的 iOS 中).code 下面的答案。

答:

356赞 Joe 4/14/2011 #1

正如 Karan Dua 所提到的,现在在 iOS8 中使用 Apple 文档可以做到这一点。UIApplicationOpenSettingsURLString

例:

斯威夫特 4.2

UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!)

在 Swift 3 中:

UIApplication.shared.open(URL(string:UIApplicationOpenSettingsURLString)!)

在 Swift 2 中:

UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString)!)

在 Objective-C 中

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

在 iOS 8 之前:

你不能。正如您所说,这已经被报道过很多次,并且要求您打开定位服务的弹出窗口是由Apple提供的,而不是由应用程序本身提供的。这就是为什么它能够打开设置应用程序的原因。

以下是一些相关问题和文章:

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

以编程方式打开设置应用 (iPhone)

当用户按下按钮时,如何打开“设置”应用?

iPhone:从应用程序打开应用程序首选项面板

通过单击应用程序首选项中的条目打开 UIPickerView - 如何?

打开“设置”应用?

iOS:设置错误

评论

0赞 Vincent Gable 8/16/2011
如果你需要更权威的答案,你可以尝试在 Apple 开发者论坛 <developer.apple.com/devforums> 上提问,或者在 <developer.apple.com/bugreporter> 上提交错误——如果这是一个已知问题,它应该以“行为正确”或原始错误的副本返回。
2赞 LightningStryk 10/27/2014
现在,在 iOS 8 中使用 [NSURL URLWithString:UIApplicationOpenSettingsURLString] 可以做到这一点
1赞 Hanushka Suren 11/4/2016
在 swift 3 中 - UIApplication.shared.openURL(URL(string:UIApplicationOpenSettingsURLString)!)
1赞 Nick Kirsten 8/31/2018
谨慎使用此方法。我使用了它,几个月后,我的应用程序被拒绝了,并收到来自 Apple 的以下消息:您的应用程序使用“prefs:root=”非公共 URL 方案,这是一个私有实体。App Store 不允许使用非公开 API,因为如果这些 API 发生变化,可能会导致用户体验不佳。在以后提交此 App 时继续使用或隐藏非公开 API 可能会导致您的 Apple 开发者帐户被终止,以及从 App Store 中删除所有相关 App。
17赞 davidcann 10/16/2011 #2

您可以在 iOS 5.0 及更高版本上使用它:这不再起作用。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];

评论

3赞 davidcann 10/19/2011
@MarkGranoff 不,它在技术上似乎是无文档的,但它并不像普通的无文档 API 那么糟糕,因为它只是一个 URL 方案。你可以先用 canOpenURL: 检查它。另外,这里有一个关于它的线程:devforums.apple.com/message/543818
3赞 progrmr 11/10/2011
根据本文,您可以在设置中访问不同的区域。例如,此 URL 将带您进入蓝牙设置prefs:root=General&path=Bluetooth
2赞 Guillaume 1/6/2012
我因使用私有 API 而被拒绝申请,因为我打开了 url:@“prefs:root=Brightness”。通常,无证意味着私人。
4赞 Don Wilson 5/8/2012
Apple 已声明这不是公共 API,因此不再受支持。关于此问题,有一个错误,编号为 11253669。
2赞 Ants 12/1/2012
我刚刚看到它在 Strava 应用程序中有效。关闭蓝牙,然后在应用程序中打开它。然后它要求进入设置应用程序,然后直接进入蓝牙设置。这是针对iOS5.1的。有没有办法找出他们使用的是什么方案?
134赞 Karan Dua 7/25/2014 #3

@Yatheeshaless的回答

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

迅速:

   UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString)!)

斯威夫特 4:

if let url = NSURL(string: UIApplicationOpenSettingsURLString) as URL? {
    UIApplication.shared.openURL(url)
}

斯威夫特 4.2 (BETA):

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

目标-C:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

评论

28赞 wjl 9/26/2014
这似乎会打开“设置”应用的应用部分。用户必须点击几次才能看到“设置”的主屏幕。
1赞 Paito 10/8/2014
小修正..[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
12赞 Pavan Kotesh 10/10/2014
@Paito 上面的行指向应用程序专用设置。有没有办法直接进入设备设置的隐私部分?如果您知道,请发表评论。这种重定向是可能的,因为我在地图应用程序中找到了它,它指向隐私部分的位置设置。
1赞 vbezhenar 11/11/2014
小的 Swift 更正:UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!)
1赞 Tejas K 2/2/2016
@PavanKotesh- 是的,但应用程序设置将具有您需要的权限,就我而言,我需要访问联系人,这些联系人确实出现在带有上述代码的应用程序设置中。
60赞 swiftBoy 3/14/2016 #4

是的!!您可以启动设备设置屏幕,我已经在iOS 9.2上进行了测试

步骤 1。我们需要添加 URL 方案

转到项目设置 --> 信息 --> URL 类型 --> 添加新的 URL 方案

enter image description here

第2步。以编程方式启动设置 多亏了@davidcann

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];

此外,我们还可以使用专有名称来启动音乐,位置等子屏幕

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=MUSIC"]];

请参阅亨利·诺马克(Henri Normak)分享的全名列表


更新:

根据评论,每个人都想知道我的申请提交状态发生更改后会发生什么?

所以YES!! I got successful update submission and application is available on store without any complain.

只是为了确认, 我今天早上刚刚下载并禁用了定位服务,然后启动了该应用程序,它要求我提供位置权限,然后我的警报弹出窗口在那里发送给我设置 - >位置服务页面 - >启用 - >就是这样!

![注意: 您的应用可能会被拒绝...即使它被批准,如果你使用这种方法,它也可能在未来的版本中被拒绝......]4

评论

1赞 swiftBoy 3/17/2016
@Flo我会让你知道的,因为目前我已经推动了beta测试。
1赞 EricWasTaken 4/9/2016
iOS的9.3。像魅力一样工作。我什至在设置应用程序中看到“返回 [我的应用程序名称]”。当然,这是支持的,因为我看到很多其他应用程序都在做这种事情!
1赞 swiftBoy 5/30/2016
@msg是的!!该应用程序已获得批准,可在商店购买。
16赞 Drico 3/1/2017
在 iOS 10 上,新 url 不是“prefs:root=....”但“App-Prefs:root=...”。
1赞 Mihir Mehta 4/9/2019
您的应用可能会被拒绝...即使它被批准,如果你使用这种方法,它也可能在未来的版本中被拒绝......
14赞 guyromb 5/25/2016 #5

iOS 10更新

Apple 更改了在主线程上打开异步的方法。但是,从现在开始,只能在本机设置中打开应用程序设置。

[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];

iOS 9 更新

现在可以直接进入子设置菜单。但是,必须创建一个 URL 方案。可以使用两种方式完成:

  1. XCode - 您可以在 Target、Info、URL Scheme 中找到它。然后,只需键入 prefs。
  2. 直接添加到 *-Info.plist。添加以下内容:<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>prefs</string> </array> </dict> </array>

然后是代码:

迅速

UIApplication.sharedApplication().openURL(NSURL(string:"prefs:root=General&path=Keyboard")!)

目标-c

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Keyboard"]];

评论

2赞 Mark Peters 9/29/2016
我尝试了iOS 10.x解决方案,但它对我不起作用 - 什么也没发生。
0赞 Roohul Poolak 9/29/2016
@MarkPeters,你找到办法了吗?这可能会有很大帮助。谢谢。
0赞 Mark Peters 10/1/2016
不,我没有。我仍然不知道这是 iOS 错误还是 Apple 刚刚删除了该功能。
0赞 Trident 10/22/2016
我认为,他们仍然使用扩展。Ex 应用程序在 Appstore 中。Magic Launcher
0赞 HangarRash 7/10/2023
不要执行步骤 2。 用于定义用于打开自己的应用的自定义 URL 方案。CFBundleURLTypes
2赞 Som 5/31/2016 #6

您可以使用以下代码。

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
-1赞 Mohammad Zaid - LushBinary.com 8/12/2016 #7

将此添加到您的班级中,

 public class func showSettingsAlert(title:String,message:String,onVC viewController:UIViewController,onCancel:(()->())?){
            YourClass.show2ButtonsAlert(onVC: viewController, title: title, message: message, button1Title: "Settings", button2Title: "Cancel", onButton1Click: {
                if let settingsURL = NSURL(string: UIApplicationOpenSettingsURLString){
                    UIApplication.sharedApplication().openURL(settingsURL)
                }
                }, onButton2Click: {
                    onCancel?()
            })
        }

 public class func show2ButtonsAlert(onVC viewController:UIViewController,title:String,message:String,button1Title:String,button2Title:String,onButton1Click:(()->())?,onButton2Click:(()->())?){
            dispatch_async(dispatch_get_main_queue()) {
                let alert : UIAlertController = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)

                alert.addAction(UIAlertAction(title: button1Title, style:.Default, handler: { (action:UIAlertAction) in
                    onButton1Click?()
                }))

                alert.addAction(UIAlertAction(title: button2Title, style:.Default, handler: { (action:UIAlertAction) in
                    onButton2Click?()
                }))

                viewController.presentViewController(alert, animated: true, completion: nil)
            }
        }

像这样呼唤,

YourClass.showSettingsAlert("App would like to access camera", message: "App would like to access camera desc", onVC: fromViewController, onCancel: {
  print("canceled")
})
3赞 Hemang 1/17/2017 #8

UIApplicationOpenSettingsURLString这只有在您之前允许任何权限的情况下才有效。例如,位置、照片、联系人、推送通知访问。因此,如果您没有用户的此类权限:

如果 iOS 10 或更高版本

它将打开“设置”,但随后会崩溃。原因是,您的应用的设置中没有任何内容。

下面的代码将在 iOS 设置中打开您的应用程序设置。

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
    [[UIApplication sharedApplication] openURL:url];
}

由于设备不可用,我无法在 iOS < 10 上检查这一点。

此外,我可以从一些要点中找到以下代码,它在iOS 10上也可以正常工作。但我不确定这是否会得到苹果审查团队的批准。

https://gist.github.com/johnny77221/bcaa5384a242b64bfd0b8a715f48e69f

0赞 Alok C 2/24/2017 #9

迅速 您可以使用以下功能打开带有蓝牙页面的设置应用程序

func openSettingsApp(){
    if let settings = NSURL(string: "prefs:root=Bluetooth") {
        UIApplication.sharedApplication().openURL(settings)
    }
}

同样,这不会打开应用程序的设置。这将打开带有蓝牙的设置应用程序,因为这是与蓝牙的深度链接。

7赞 Damo 3/29/2017 #10

在 Swift 3 / iOS 10+ 中,这现在看起来像

if let url = URL(string: "App-Prefs:root=LOCATION_SERVICES") {
    UIApplication.shared.open(url, completionHandler: .none)
}

评论

0赞 user3804063 7/13/2017
如何进入通知屏幕?因为如果 let url = URL(string: “App-Prefs:root=NOTIFICATIONS_ID&path=io.artup.artup”) { if #available(iOS 10.0, *) { UIApplication.shared.open(url, completionHandler: .none) } } 但我在 iPhone 6 中转到了通知,而不是在 iPhone 7 plus 中?
3赞 Bersaelor 8/24/2018
这将使您的应用程序被拒绝。他们将其置于私有 API 的使用之下。
0赞 Kiryl Bielašeŭski 10/10/2018
我拒绝了我的应用程序,使用这个“App-Prefs:root”
1赞 CodeBrew 1/8/2019
只需强调其他人在这里提到的内容,不要使用此方法,它会导致您的应用程序被拒绝。重复提交此类应用程序将导致您的开发者帐户关闭。
5赞 ynamao 4/13/2017 #11

在 Swift 3 中,我所需要的只是这个(例如,重定向到我的应用程序通知):

if let url = URL(string: "App-Prefs:root=NOTIFICATIONS_ID&path=your app bundleID") {
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url, completionHandler: .none)
    } else {
        // Fallback on earlier versions
    }
}

资料来源:phynet gist

只有当设置在后台时,这才对我有用。它会将您重定向到您的应用通知设置,但如果设置未在后台运行,它只会将您重定向到通知设置。

5赞 Duy Doan 6/21/2017 #12

斯威夫特 3:

guard let url = URL(string: UIApplicationOpenSettingsURLString) else {return}
if #available(iOS 10.0, *) {
  UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
  // Fallback on earlier versions
  UIApplication.shared.openURL(url)
}
1赞 Praveen Sharma 9/20/2017 #13

使用 iOS 10 进行测试。加工

NSArray* urlStrings = @[@"prefs:root=WIFI", @"App-Prefs:root=WIFI"];
for(NSString* urlString in urlStrings){
NSURL* url = [NSURL URLWithString:urlString];
if([[UIApplication sharedApplication] canOpenURL:url]){
    [[UIApplication sharedApplication] openURL:url];
    break;
}
}

快乐编码:)

评论

3赞 Bersaelor 8/24/2018
这将使您的应用程序被拒绝。只是它发生在我身上。
0赞 Praveen Sharma 9/5/2018
是这样吗,但是这行代码会直接把你带到想要的位置
1赞 Bersaelor 9/6/2018
是的,它会带你去那里。我并不是说它不起作用,我只是指出它会让您在应用程序审查期间被拒绝。根据审查小组告诉我们的内容,“prefs:root”是一个私有 URL 方案。(你可能会很幸运,他们有一段时间没有注意到,我们有这个功能有一段时间了,在评论者注意到它之前通过了几篇评论)
0赞 Praveen Sharma 9/6/2018
感谢您提供的信息,我会尝试其他方法,但现在我陷入了 VPN 连接,为此寻找解决方案。
1赞 Harshil Kotecha 1/29/2018 #14

SWIFT 4.0 (英语)

“openURL”在 iOS 10.0 中已弃用:请使用 openURL:options:completionHandler:改为

UIApplication.shared.open(URL.init(string: UIApplicationOpenSettingsURLString)! , options: [:], completionHandler: nil)
1赞 Sazzad Hissain Khan 3/21/2018 #15

斯威夫特 4

我更喜欢以更安全的方式打开设置,

if let settingUrl = URL(string:UIApplicationOpenSettingsURLString) {

    UIApplication.shared.open(settingUrl)
}
else {
    print("Setting URL invalid")
}
0赞 Jovan Stankovic 9/29/2019 #16

要添加到已接受的答案:(来自 Apple 开发人员文档)“当您打开从此字符串 (openSettingsURLString) 构建的 URL 时,系统会启动”设置“应用并显示该应用的自定义设置(如果有)。因此,如果要打开应用的设置,请创建自己的 Settings.bundle。

38赞 Iain Smith 4/23/2020 #17

似乎您可以使用 URL 打开设置并转到特定区域。Apple 可能会更改这些内容并破坏您的应用程序,因此请务必检查是否可以先打开它们。prefs:<area>

本文中,他们列出了iOS 13.1中的一些:

设置 URL

iCloud的

  • iCloud的:prefs:root=CASTLE
  • iCloud备份:prefs:root=CASTLE&path=BACKUP

无线电

  • Wi-Fi:prefs:root=WIFI
  • 蓝牙:prefs:root=Bluetooth
  • 细胞的:prefs:root=MOBILE_DATA_SETTINGS_ID

个人热点

  • 个人热点:prefs:root=INTERNET_TETHERING
  • 个人热点 ⇾ 家庭共享:prefs:root=INTERNET_TETHERING&path=Family%20Sharing
  • 个人热点 ⇾ Wi-Fi 密码:prefs:root=INTERNET_TETHERING&path=Wi-Fi%20Password

虚拟专用网

  • 虚拟专用网:prefs:root=General&path=VPN

通知

  • 通知:prefs:root=NOTIFICATIONS_ID
  • 通知 ⇾ Siri 建议:prefs:root=NOTIFICATIONS_ID&path=Siri%20Suggestions

听 起来

  • 听 起来:prefs:root=Sounds
  • 铃声:prefs:root=Sounds&path=Ringtone

请勿打扰

  • 请勿打扰:prefs:root=DO_NOT_DISTURB
  • 请勿打扰 ⇾ 允许来自以下地区的呼叫:prefs:root=DO_NOT_DISTURB&path=Allow%20Calls%20From

屏幕使用时间

  • 屏幕时间:prefs:root=SCREEN_TIME
  • 屏幕时间 ⇾ 停机时间:prefs:root=SCREEN_TIME&path=DOWNTIME
  • 屏幕时间 ⇾ 应用限制:prefs:root=SCREEN_TIME&path=APP_LIMITS
  • 屏幕时间 ⇾ 始终允许:prefs:root=SCREEN_TIME&path=ALWAYS_ALLOWED

常规

  • 常规:prefs:root=General
  • 一般 ⇾ 关于:prefs:root=General&path=About
  • 常规 ⇾ 软件更新:prefs:root=General&path=SOFTWARE_UPDATE_LINK
  • 一般 ⇾ CarPlay:prefs:root=General&path=CARPLAY
  • 常规 ⇾ 后台应用刷新:prefs:root=General&path=AUTO_CONTENT_DOWNLOAD
  • 常规 ⇾ 多任务处理(仅限 iPad):prefs:root=General&path=MULTITASKING
  • 一般 ⇾ 日期及时间:prefs:root=General&path=DATE_AND_TIME
  • 常规 ⇾ 键盘:prefs:root=General&path=Keyboard
  • 常规 ⇾ 键盘 ⇾ 键盘:prefs:root=General&path=Keyboard/KEYBOARDS
  • 常规 ⇾ 键盘 ⇾ 硬件键盘:prefs:root=General&path=Keyboard/Hardware%20Keyboard
  • 常规 ⇾ 键盘 ⇾ 文本替换:prefs:root=General&path=Keyboard/USER_DICTIONARY
  • 常规 ⇾ 键盘 ⇾ 单手键盘:prefs:root=General&path=Keyboard/ReachableKeyboard
  • 一般 ⇾ 语言和地区:prefs:root=General&path=INTERNATIONAL
  • 一般 ⇾ 词典:prefs:root=General&path=DICTIONARY
  • 常规 ⇾ 配置文件:prefs:root=General&path=ManagedConfigurationList
  • 常规 ⇾ 重置:prefs:root=General&path=Reset

控制中心

  • 控制中心:prefs:root=ControlCenter
  • 控制中心 ⇾ 自定义控件:prefs:root=ControlCenter&path=CUSTOMIZE_CONTROLS

显示

  • 显示:prefs:root=DISPLAY
  • 显示 ⇾ 自动锁定:prefs:root=DISPLAY&path=AUTOLOCK
  • 显示 ⇾ 文字大小:prefs:root=DISPLAY&path=TEXT_SIZE

可及性

  • 可及性:prefs:root=ACCESSIBILITY

壁纸

  • 壁纸:prefs:root=Wallpaper

Siri的

  • Siri的:prefs:root=SIRI

苹果铅笔

  • Apple Pencil(仅限 iPad):prefs:root=Pencil

面容 ID

  • 面容 ID:prefs:root=PASSCODE

SOS紧急联络

  • SOS紧急联络:prefs:root=EMERGENCY_SOS

电池

  • 电池:prefs:root=BATTERY_USAGE
  • 电池 ⇾ 电池健康(仅限 iPhone):prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH

隐私

  • 隐私:prefs:root=Privacy
  • 隐私 ⇾ 定位服务:prefs:root=Privacy&path=LOCATION
  • 隐私 ⇾ 联系方式:prefs:root=Privacy&path=CONTACTS
  • 隐私 ⇾ 日历:prefs:root=Privacy&path=CALENDARS
  • 隐私 ⇾ 注意事项:prefs:root=Privacy&path=REMINDERS
  • 隐私 ⇾ 照片:prefs:root=Privacy&path=PHOTOS
  • 隐私 ⇾ 麦克风:prefs:root=Privacy&path=MICROPHONE
  • 隐私 ⇾ 语音识别:prefs:root=Privacy&path=SPEECH_RECOGNITION
  • 隐私 ⇾ 相机:prefs:root=Privacy&path=CAMERA
  • 隐私 ⇾ 运动:prefs:root=Privacy&path=MOTION\

App Store

  • 应用商店:prefs:root=STORE
  • App Store ⇾ 应用下载:prefs:root=STORE&path=App%20Downloads
  • App Store ⇾ 视频自动播放:prefs:root=STORE&path=Video%20Autoplay

钱包

  • 钱包:prefs:root=PASSBOOK

密码和帐户

  • 密码和帐户:prefs:root=ACCOUNTS_AND_PASSWORDS
  • 密码和帐户 ⇾ 获取新数据:prefs:root=ACCOUNTS_AND_PASSWORDS&path=FETCH_NEW_DATA
  • 密码和帐户 ⇾ 添加帐户:prefs:root=ACCOUNTS_AND_PASSWORDS&path=ADD_ACCOUNT

邮件

  • 邮件:prefs:root=MAIL
  • 邮件 ⇾ 预览:prefs:root=MAIL&path=Preview
  • 邮件 ⇾ 滑动选项:prefs:root=MAIL&path=Swipe%20Options
  • 邮件 ⇾ 通知:prefs:root=MAIL&path=NOTIFICATIONS
  • 邮件 ⇾ 已阻止:prefs:root=MAIL&path=Blocked
  • 邮件 ⇾ 静音线程操作:prefs:root=MAIL&path=Muted%20Thread%20Action
  • 邮件 ⇾ 阻止的发件人选项:prefs:root=MAIL&path=Blocked%20Sender%20Options
  • 邮件 ⇾ 标记地址:prefs:root=MAIL&path=Mark%20Addresses
  • 邮件 ⇾ 提高报价水平:prefs:root=MAIL&path=Increase%20Quote%20Level
  • 邮件 ⇾ 包括附件和回复:prefs:root=MAIL&path=Include%20Attachments%20with%20Replies
  • 邮件 ⇾ 签名:prefs:root=MAIL&path=Signature
  • 邮件 ⇾ 默认帐户:prefs:root=MAIL&path=Default%20Account

接触

  • 接触:prefs:root=CONTACTS

日历

  • 日历:prefs:root=CALENDAR
  • 日历 ⇾ 备用日历:prefs:root=CALENDAR&path=Alternate%20Calendars
  • 日历 ⇾ 同步:prefs:root=CALENDAR&path=Sync
  • 日历 ⇾ 默认警报时间:prefs:root=CALENDAR&path=Default%20Alert%20Times
  • 日历 ⇾ 默认日历:prefs:root=CALENDAR&path=Default%20Calendar

笔记

  • 笔记:prefs:root=NOTES
  • 备注 ⇾ 默认帐户:prefs:root=NOTES&path=Default%20Account
  • 注意事项 ⇾ 密码:prefs:root=NOTES&path=Password
  • 笔记 ⇾ 按以下方式对笔记进行排序:prefs:root=NOTES&path=Sort%20Notes%20By
  • 笔记 ⇾ 新笔记从以下方面开始:prefs:root=NOTES&path=New%20Notes%20Start%20With
  • 注意事项 ⇾ 对选中的项目进行排序:prefs:root=NOTES&path=Sort%20Checked%20Items
  • 注释 ⇾ 线条和网格:prefs:root=NOTES&path=Lines%20%26%20Grids
  • 笔记 ⇾ 从锁定屏幕访问笔记:prefs:root=NOTES&path=Access%20Notes%20from%20Lock%20Screen

提醒

  • 提醒:prefs:root=REMINDERS
  • 提醒 ⇾ 默认列表:prefs:root=REMINDERS&path=DEFAULT_LIST

语音备忘录

  • 语音备忘录:prefs:root=VOICE_MEMOS

电话

  • 电话:prefs:root=Phone

消息

  • 消息:prefs:root=MESSAGES

FaceTime通话

  • FaceTime通话:prefs:root=FACETIME

地图

  • 地图:prefs:root=MAPS
  • 地图 ⇾ 驾驶和导航:prefs:root=MAPS&path=Driving%20%26%20Navigation
  • 地图 ⇾ 公交:prefs:root=MAPS&path=Transit

指南针

  • 指南针:prefs:root=COMPASS

  • 量:prefs:root=MEASURE

Safari 浏览器

  • 野生动物园:prefs:root=SAFARI
  • Safari ⇾ 内容拦截器:prefs:root=SAFARI&path=Content%20Blockers
  • Safari ⇾ 下载:prefs:root=SAFARI&path=DOWNLOADS
  • Safari ⇾ 关闭标签页:prefs:root=SAFARI&path=Close%20Tabs
  • Safari ⇾ 清除历史记录和数据:prefs:root=SAFARI&path=CLEAR_HISTORY_AND_DATA
  • Safari ⇾ 页面缩放:prefs:root=SAFARI&path=Page%20Zoom
  • Safari ⇾ 请求桌面网站:prefs:root=SAFARI&path=Request%20Desktop%20Website
  • Safari ⇾ 阅读器:prefs:root=SAFARI&path=Reader
  • Safari ⇾ 相机:prefs:root=SAFARI&path=Camera
  • Safari ⇾ 麦克风:prefs:root=SAFARI&path=Microphone
  • Safari ⇾ 位置:prefs:root=SAFARI&path=Location
  • Safari ⇾ 高级:prefs:root=SAFARI&path=ADVANCED

新闻

  • 新闻:prefs:root=NEWS

健康

  • 健康:prefs:root=HEALTH

快捷方式

  • 快捷方式:prefs:root=SHORTCUTS

音乐

  • 音乐:prefs:root=MUSIC
  • 音乐 ⇾ 蜂窝数据:prefs:root=MUSIC&path=com.apple.Music:CellularData
  • 音乐 ⇾ 优化存储:prefs:root=MUSIC&path=com.apple.Music:OptimizeStorage
  • 音乐 ⇾ 情商:prefs:root=MUSIC&path=com.apple.Music:EQ
  • 音乐 ⇾ 音量限制:prefs:root=MUSIC&path=com.apple.Music:VolumeLimit

电视

  • 设置 ⇾ 电视:prefs:root=TVAPP

照片

  • 照片:prefs:root=Photos

照相机

  • 照相机:prefs:root=CAMERA
  • 相机 ⇾ 录制视频:prefs:root=CAMERA&path=Record%20Video
  • 相机 ⇾ 录制慢动作:prefs:root=CAMERA&path=Record%20Slo-mo

  • 书:prefs:root=IBOOKS

游戏中心

  • 游戏中心:prefs:root=GAMECENTER

评论

0赞 tp2376 3/30/2021
这不适用于 iOS 14 ..始终显示设置而不是提到的路径。有什么解决方法吗?
6赞 Tejas Patel 6/25/2021
是的,我在 iOS 14 上也有同样的问题,但就我而言,当我删除根前缀时,它就解决了。例如,我没有使用“App-prefs:Privacy&path=LOCATION”,而不是“prefs:root=Privacy&path=LOCATION”,它在 iOS 14 中有效。
1赞 letsbondiway 12/14/2022
如果我们使用此类配置,Apple 是否不再拒绝该应用程序?
3赞 Natasha 11/9/2021 #18

由于在 iOS 10.0 之后已弃用,请改用。openURL(_:)open(_:options:completionHandler:)

if let settingsUrl = URL(string: UIApplication.openSettingsURLString)  {
        UIApplication.shared.open(settingsUrl, options: [:]) { completed in
             if !completed {
                 print("Failed opening")
             }
        }
}
1赞 onmyway133 7/10/2023 #19

从 iOS 16 开始,您可以使用 openSettingsURLString

if let url = URL(string: UIApplication. openSettingsURLString) {
    await UIApplication.shared.open(url)
}