我们如何使用UIApplication.sharedApplication()
打开设置我应该传递哪个网址?
我使用了UIApplicationOpenSettingsURLString
,但它直接打开了特定于应用程序的“设置”页面。但我想让它打开Settings应用程序的第一级。
甚至更好,我希望直接打开用户可以在手机上启用定位服务的页面。
以下代码直接打开特定于应用程序的设置页面。
UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!);
答案 0 :(得分:3)
此问题的答案是否,我们无法打开直接位置页面,但我们可以打开UIApplicationOpenSettingsURLString
(设置页面)
试试这个
if let appSettings = NSURL(string: UIApplicationOpenSettingsURLString) {
UIApplication.sharedApplication().openURL(appSettings)
}
else
{
// your URL is invalid
}
答案 1 :(得分:2)
您可以在YES
文件中使用UIRequiresPersistentWiFi到Info.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));