簡體   English   中英

如何以編程方式打開設置應用程序?

[英]How to open settings app programmatically?

我在 ios 8.3 上使用 swift。 我想從我的應用程序中打開設置應用程序。 我知道使用代碼

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

將打開我的應用程序設置。 但我不想打開我的應用程序設置。 我只想打開設置應用程序並停留在主頁上。 如果可能,導航到“蜂窩網絡”。 有沒有辦法實現這一目標?

嘗試這個。

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

Xcode 11.5 - iOS > 10

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 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

希望這對你有幫助。

是的,他們在 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)")
    })
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM