1

我尝试了这些命令-

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];    
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Wallpaper"]];    
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Safari"]];

这些代码分别在 iOS 5.0 中打开 Location、General、Wallpaper 和 Safari,但在 iOS 5.1.1 中没有任何作用有人知道吗?

4

2 回答 2

5

在 iOS 5.1 中,prefs:URL 方案已被删除。你不能再使用它了。

如果可以选择使用私有 API,您可以尝试以下操作:

SBSLaunchApplicationWithIdentifier(CFSTR("com.apple.Preferences"), false);

然后,您必须链接 SpringBoardServices 框架。

于 2012-06-25T12:39:44.360 回答
0

只是对@H2CO3 答案的快速补充(不适合评论)。我在我的 Cydia 应用程序中使用该解决方案来打开设置,并结合包含以下条目的权利文件:

<key>com.apple.springboard.launchapplications</key>
<string>true</string>

这是我相信 Xcode 格式化权利文件的方式。这在我的两个测试设备上运行良好。但是,一些 beta 测试人员提到设置应用程序没有打开。我注意到权利文件的几个示例使用不同的格式来指示键的值:

<true/>

我在无法使用第一个权利条目的设备上进行了尝试,并且实际打开了设置应用程序。

所以我发布这个以防其他人有类似的问题。(以 root 身份运行应用程序也可能是一种解决方案,但我没有尝试过。)

于 2013-09-12T12:15:23.957 回答