在iOS9中以编程方式打开手机设置

我最近有一个应用程序summited的应用程序商店,他们拒绝批准下面的代码,我用打开手机设置:

let url:NSURL! = NSURL(string : "prefs:root=") UIApplication.sharedApplication().openURL(url) 

所以我得到了下面的代码( 当我点击一个button时,我如何打开手机设置 ),并获得批准:

 UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString)!) 

不幸的是,它不会做我真正需要的,因为它有时打开我的应用程序设置,有时打开手机设置。

而且我需要一些东西来打开,而只是打开电话设置。

这将打开“设置”页面,如下所示。

 UIApplication.sharedApplication().openURL(NSURL(string: "prefs:root=Settings")!) 

截图

但不幸的是,在你的应用程序中使用这些代码会导致拒绝审查过程(请参阅评论)。

在iOS 10中,“prefs”必须replace为“App-Prefs”。 然后你可以使用这个代码来testing所有可能的url。

 NSArray* urlStrings = @[@"prefs:root=<your_path>", @"App-Prefs:root=<your_path>"]; for(NSString* urlString in urlStrings){ NSURL* url = [NSURL URLWithString:urlString]; if([[UIApplication sharedApplication] canOpenURL:url]){ [[UIApplication sharedApplication] openURL:url]; break; } }