swift 如何以编程方式打开设置应用程序?

tez616oj  于 2023-03-28  发布在  Swift
关注(0)|答案(4)|浏览(145)

我使用的是iOS8.3的Swift。我想从我的应用程序中打开设置应用程序。我知道使用代码

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

我将打开我的应用程序设置。但我不想打开我的应用程序设置。我只想打开设置应用程序并停留在主页。如果可能,导航到“Hive”。有什么方法可以实现这一点吗?

ezykj2lf

ezykj2lf1#

试试这个。

if let appSettings = URL(string: UIApplication.openSettingsURLString) {
    UIApplication.shared.open(appSettings, options: [:], completionHandler: nil)
}

Xcode 11.5 - iOS〉10

mpbci0fu

mpbci0fu2#

2016年10月11日更新:

它不会在iOS10工作了。到目前为止,我还没有找到任何解决办法。如果你们有任何解决方案,请让我知道。谢谢。

如果iOS版本〈= iOS9,则需要设置URL类型:

你可以这样做:

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

我在github上有一个demo:http://github.com/zhihuitang/SettingDemo.git
您可以找到所有可用的URL如下:http://iphonedevwiki.net/index.php/Preferences.app首选项应用程序注册了一个私有URL方案,prefs:,下面的列表详细介绍了打开特定视图1 [2]

prefs:root=General&path=About
prefs:root=General&path=ACCESSIBILITY
prefs:root=AIRPLANE_MODE
prefs:root=General&path=AUTOLOCK
prefs:root=General&path=USAGE/CELLULAR_USAGE
prefs:root=General&path=Bluetooth
prefs:root=General&path=DATE_AND_TIME
prefs:root=FACETIME
prefs:root=General
prefs:root=General&path=Keyboard
prefs:root=CASTLE
prefs:root=CASTLE&path=STORAGE_AND_BACKUP
prefs:root=General&path=INTERNATIONAL
prefs:root=LOCATION_SERVICES
prefs:root=ACCOUNT_SETTINGS
prefs:root=MUSIC
prefs:root=MUSIC&path=EQ
prefs:root=MUSIC&path=VolumeLimit
prefs:root=General&path=Network
prefs:root=NIKE_PLUS_IPOD
prefs:root=NOTES
prefs:root=NOTIFICATIONS_ID
prefs:root=Phone
prefs:root=Photos
prefs:root=General&path=ManagedConfigurationList
prefs:root=General&path=Reset
prefs:root=Sounds&path=Ringtone
prefs:root=Safari
prefs:root=General&path=Assistant
prefs:root=Sounds
prefs:root=General&path=SOFTWARE_UPDATE_LINK
prefs:root=STORE
prefs:root=TWITTER
prefs:root=General&path=USAGE
prefs:root=VIDEO
prefs:root=General&path=Network/VPN
prefs:root=Wallpaper
prefs:root=WIFI
prefs:root=INTERNET_TETHERING

希望这对你有帮助。

ars1skjm

ars1skjm3#

是,他们在iOS 10中进行了更改,请将“prefs:“更改为“App-Prefs:“

guard let profileUrl = URL(string:"App-Prefs:root=General&path=ManagedConfigurationList") else {
    return
}

if UIApplication.shared.canOpenURL(profileUrl) {
    UIApplication.shared.open(profileUrl, completionHandler: { (success) in
        print(" Profile Settings opened: \(success)")
    })
}
xnifntxz

xnifntxz4#

Xcode 14:你可以做:

// System settings:
let url = URL(string: UIApplication.openSettingsURLString)!
UIApplication.shared.open(url)

// Notifications settings:
URL(string: UIApplication.openNotificationSettingsURLString)!
UIApplication.shared.open(url)

相关问题