我正在做越狱调整,我需要打开一个特殊的设置视图,
我用谷歌搜索了很多,在 iOS5.1 之后,
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];
不再工作了。我怎样才能做到这一点?
设置应用程序 url 方案在 iOs 5.1 中消失了,您应该重新创建所需的 URL 方案来挂钩该方法- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
对于偏好应用程序。使用伪代码应该是
if(url contain @"general") { go to general section } else %orig;
例如,您可以通过调用首选项的 tableView 的 didSelect 方法转到某个部分
如果此代码在越狱手机上运行,您可以使用我在此答案中显示的技术通过其捆绑标识符以编程方式打开应用程序。
基本上,您使用的SBSLaunchApplicationWithIdentifier()
是 SpringBoardServices.framework 中的私有 API。
如果这是针对应用程序,请务必按照我的回答中的说明将com.apple.springboard.launchapplications
权利添加到您的应用程序。
如果您的代码作为某种调整注入 SpringBoard 本身,那么我认为您无需担心添加权利。
Preferences.app 的包标识符是com.apple.Preferences
,所以这是您传递给 的字符串SBSLaunchApplicationWithIdentifier()
,如我的链接答案中所示。
注意:我的假设是您在为 iOS 6 提出这个问题,因为 iOS 7 还没有稳定的越狱。