iOS中的"访问设置"应用

MTS*_*ive 7 iphone settings xcode ios ios5

是否有机会通过单击按钮在iOS中显示settings.app?它应该适用于iOS 5.1,所以"prefs:root ..."url是没有选择的.

你知道如何解决这个问题吗?

dji*_*i33 9

我知道问题是关于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
Run Code Online (Sandbox Code Playgroud)

这是因为该功能从8.0开始可用,所以这个指针永远不会NULL.如果您的部署目标是8.0+,请删除下面的if语句.

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

  • UIApplicationOpenSettingsURLString在iOS7上导致EXC_BAD_ACCESS.这样更好:if(&UIApplicationOpenSettingsURLString) (3认同)

Hai*_*lei 4

您无法在 iOS 5.1 上执行此操作。最有可能的是,Apple 故意删除了该功能(您会收到“请输入有效的 URL”,但 Twitter 仍然可以调用“设置”)。请参阅: