我正在从我的应用程序中打开设备设置页面。当我通过iPhone X(iOS11)和iPhone 8打开时,它将转到应用程序设置。但是,当我通过iPhone 8 Plus和iPhone SE打开时,它会转到主页设置页面。 我需要打开iPhone的家庭设置页面,例如iPhone 8 Plus(打开家庭设置页面)。我正在运行以下代码。
UIApplication *application = [UIApplication sharedApplication];
NSURL *settingsURL = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[application openURL:settingsURL options:@{} completionHandler:^(BOOL success) {
if (success) {
NSLog(@"Opened url");
}
}];
我的问题是,我创建了一个新项目,并运行了上面的代码。它的工作正常。我可以导航到同一iPhone X中的设备主页设置页面。 但是当我在iPhone X的项目中运行此代码时,它将转到应用程序设置屏幕,我不知道我错过了什么。 如果可以的话请帮助我。 预先感谢。
答案 0 :(得分:1)
全局变量
UIApplicationOpenSettingsURLString
用于创建可以传递给openURL:方法的URL。当您打开根据此字符串构建的URL时,系统将启动“设置”应用程序并显示该应用程序的自定义设置(如果有的话)。
https://developer.apple.com/documentation/uikit/uiapplicationopensettingsurlstring?language=objc
这来自Apple官方文档。我的猜测是您的应用程序具有自己的设置页面,这就是openURL
函数将您带到应用程序的设置页面而不是设置主页的原因。