iOS應用內跳轉到系統設定頁面
阿新 • • 發佈:2019-01-31
在iOS開發中,有時會有跳轉系統設定介面的需求,例如提示使用者開啟藍芽或者WIFI,提醒使用者開啟推送或者位置許可權等。
設定跳轉有三種方式,每一種的使用場景都不同。 並且你在跳轉到系統中自己應用下面設定的時候,你的應用要提前至少申請了某一個許可權,如通知,定位等。否則,會引起崩潰。
方式一:prefs:root=某項服務
方式二:prefs:root=bundleID
方式三: UIApplicationOpenSettingsURLString
跳轉
當 iOS系統版本 <= iOS7時 , 只能跳轉到 系統設定頁面
NSURL *url= [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]; 跳轉到: 隱私-定位服務。 prefs:root=某項服務 系統設定:prefs:root=INTERNET_TETHERING WIFI設定:prefs:root=WIFI 藍芽設定:prefs:root=Bluetooth 系統通知:prefs:root=NOTIFICATIONS_ID 通用設定:prefs:root=General 顯示設定:prefs:root=DISPLAY&BRIGHTNESS 桌布設定:prefs:root=Wallpaper 聲音設定:prefs:root=Sounds 隱私設定:prefs:root=privacy 蜂窩網路:prefs:root=MOBILE_DATA_SETTINGS_ID 音樂:prefs:root=MUSIC APP Store:prefs:root=STORE Notes:prefs:root=NOTES Safari:prefs:root=Safari Music:prefs:root=MUSIC photo":prefs:root=Photos 這種跳轉方式,都是跳轉到系統的設定介面。
當 iOS系統版本 >= iOS8 ,支援跳轉到第三方應用的設定介面中使用prefs:root= bundleID
,
bundleID是你第三方應用工程的唯一ID 侷限性:只支援iOS8,iOS9系統,在iOS10系統上,不會跳轉。
當系統版本號大於iOS
UIApplicationOpenSettingsURLString欄位,是在iOS8上才提供的,支援iOS8,iOS9,iOS10系統,推薦使用。