應用內跳轉系統設定相關介面方法總結
在 iOS 開發中,經常會遇到有跳轉至系統設定相關介面的需求;
例如:
提示使用者開啟藍芽或者 WiFi 等功能提示操作;
提示使用者開啟推送或者位置相關許可權.
在 iOS 6之後,第三方應用需要跳轉系統設定介面則需要在 URL type 中新增一個 prefs 值.
跳轉系統設定根目錄中的專案使用方法如下:
_array = @[
@{@"系統設定":@"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"},
@{@"APP Store":@"prefs:root=STORE"},
@{@"Notes":@"prefs:root=NOTES"},
@{@"Safari":@"prefs:root=Safari"},
@{@"Music":@"prefs:root=MUSIC"},
@{@"photo":@"prefs:root=Photos"}
];
NSURL * url = [NSURL URLWithString:[_array[index] allValues].firstObject];
[[UIApplication sharedApplication] openURL:url];
------------------------------------------------------------------------------------
如果需要跳轉至第三方應用的設定介面中,則使用 prefs:root = boundleId 的方式.
注:其中 boundleId 是第三方應用的 boundleId.
如果需要繼續向專案內層進行跳轉,則可以通過新增 path 路徑的方式,具體如下:
_array = @[
@{@"關於本機":@"prefs:root=General&path=About"},
@{@"軟體升級":@"prefs:root=General&path=SOFTWARE_UPDATE_LINK"},
@{@"日期時間":@"prefs:root=General&path=DATE_AND_TIME"},
@{@"Accessibility":@"prefs:root=General&path=ACCESSIBILITY"},
@{@"鍵盤設定":@"prefs:root=General&path=Keyboard"},
@{@"VPN":@"prefs:root=General&path=VPN"},
@{@"桌布設定":@"prefs:root=Wallpaper"},
@{@"聲音設定":@"prefs:root=Sounds"},
@{@"隱私設定":@"prefs:root=privacy"},
@{@"APP Store":@"prefs:root=STORE"},
@{@"還原設定":@"prefs:root=General&path=Reset"},
@{@"應用通知":@"prefs:root=NOTIFICATIONS_ID&path=應用的boundleId"}
];
程式碼示例如下:
NSURL* url = [NSURLURLWithString:@"prefs:root=privacy"];//prefs:root=privacy 為上述陣列中需要跳轉項
[[UIApplication sharedApplication] openURL:url];