在iOS中访问设置应用程序

是否有机会通过点击button在iOS中显示settings.app? 它应该与iOS 5.1一起工作,所以“prefs:root …”url是没有select的。

你有一个想法如何解决这个问题?

我知道这个问题特别是关于5.1,但如果其他人感兴趣:

从iOS 8开始,可以将用户从应用程序直接带入“设置”应用程序。 他们将深入链接到您的应用程序的特定设置页面,但他们可以退出到顶级设置屏幕。

更新:

感谢Pavel的评论,我简化了if语句并避免了iOS 7上的EXC_BAD_ACCESS。

更新2:

如果您的部署目标设置为8.0或更高,Xcode 6.3会给您以下警告:

Comparison of address of 'UIApplicationOpenSettingsURLString' not equal to a null pointer is always true 

这是因为该function在8.0开始可用,所以这个指针永远不会是NULL 。 如果您的部署目标是8.0+,只需删除下面的if语句。

 if (&UIApplicationOpenSettingsURLString != NULL) { NSURL *appSettings = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; [[UIApplication sharedApplication] openURL:appSettings]; } 

您无法在iOS 5.1上执行此操作。 尽pipe苹果很有可能故意删除了这个能力(你会得到“请input一个有效的URL”,而Twitter仍然可以调用设置)。 请参阅:

  • 如何打开iOS 5.1的偏好设置? 。
  • 苹果禁用主屏幕快捷方式设置切换在iOS 5.1

如果iOS6显示一个选项,可以直接从“AlertView”(显示为自动显示)打开设置应用程序,如果您尝试在没有设置帐户的情况下尝试发布到FB或Twitter,

我在这里详细阐述了这一点

在iOS 8上,苹果让我们可以从我们的应用程序转到应用程序设置的权利

你可以应用这个代码:

 - (IBAction)openSettings:(id)sender { BOOL canOpenSettings = (UIApplicationOpenSettingsURLString != NULL); if (canOpenSettings) { NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; [[UIApplication sharedApplication] openURL:url]; } }