我试过这些命令 -
[[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中打开位置,常规,壁纸和Safari,但在iOS 5.1.1中无效 有人有任何想法吗?
答案 0 :(得分:5)
在iOS 5.1中,prefs:
网址方案已被删除。你不能再使用它了。
如果使用私有API是一个选项,您可以尝试:
SBSLaunchApplicationWithIdentifier(CFSTR("com.apple.Preferences"), false);
然后你必须链接SpringBoardServices框架。
答案 1 :(得分:0)
快速添加@ H2CO3的答案(不适用于评论)。我在我的Cydia应用程序中使用该解决方案来打开设置,并结合包含以下条目的权利文件:
<key>com.apple.springboard.launchapplications</key>
<string>true</string>
这是我相信Xcode格式化权利文件的方式。这在我的两个测试设备上运行良好。但是,一些beta测试者提到设置应用程序没有打开。我注意到权利文件的几个示例使用不同的格式来指示密钥的值:
<true/>
我在没有使用第一个权利条目的设备上尝试了这个,并且实际打开了设置应用。
所以我发布这个以防其他人有类似的问题。 (以root身份运行应用程序也可能是一种解决方案,但我没有尝试过。)