打开设置iOS 8 URL

时间:2015-10-26 06:53:36

标签: ios objective-c swift swift2 uiapplication

我们如何使用UIApplication.sharedApplication()

打开设置

我应该传递哪个网址?

我使用了UIApplicationOpenSettingsURLString,但它直接打开了特定于应用程序的“设置”页面。但我想让它打开Settings应用程序的第一级

甚至更好,我希望直接打开用户可以在手机上启用定位服务的页面。

以下代码直接打开特定于应用程序的设置页面。

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

4 个答案:

答案 0 :(得分:3)

此问题的答案是,我们无法打开直接位置页面,但我们可以打开UIApplicationOpenSettingsURLString(设置页面)

试试这个

if let appSettings = NSURL(string: UIApplicationOpenSettingsURLString) {
UIApplication.sharedApplication().openURL(appSettings)
}
else
{
 // your URL is invalid
}

其他information

答案 1 :(得分:2)

您可以在YES文件中使用UIRequiresPersistentWiFiInfo.plist,并创建像facebook一样的警报视图,用户无需网络连接即可启动您的应用。

总结这里的讨论:

第1步:您无法使用网址进入“设置”应用的根级别。

第2步:您可以使用iOS 8中的UIApplicationOpenSettingsURLString将用户发送到“设置”应用的应用部分。

您的应用可以显示与Facebook相同的提醒,通过将UIRequiresPersistentWiFi设置为YES,可以打开设置应用的根级别。

答案 2 :(得分:1)

您可以通过编程方式打开设置应用尝试此操作(仅适用于iOS8以上版本)。

如果您使用Swift

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

如果您使用Objective-C

   [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

对于其他较低版本(小于iOS8),无法以编程方式打开设置应用程序。

对象C:

- (void)openSettings
{
    BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL);

    if (canOpenSettings) {
        NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
        [[UIApplication sharedApplication] openURL:url];
    }
}

<强>夫特:

func openSettings() {
    UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!)
}

答案 3 :(得分:0)

对于 Xamarin.iOS 开发者:

UIApplication.SharedApplication.OpenUrl(new NSUrl(UIApplication.OpenSettingsUrlString));