1. 程式人生 > >應用內跳轉系統設定相關介面方法總結

應用內跳轉系統設定相關介面方法總結

在 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];