iOS應用 跳轉到系統的設置界面


現在很多APP都需要獲取用戶權限,例如,允許調用位置信息,讀取短信,撥打電話,開啟WIFI,掉頭攝像頭等,用戶不允許APP獲取這些權限的時候.最好的用戶體驗是,直接跳轉到系統設置界面,讓用戶自己設置.

跳轉到自己的項目中

在需要調轉的按鈕動作中添加如下的代碼,就會跳轉到設置中自己的app的設置界面,這里會有通知和位置權限的設置

NSURL * url = [NSURLURLWithString:UIApplicationOpenSettingsURLString];

if([[UIApplicationsharedApplication] canOpenURL:url]) {

    NSURL*url =[NSURLURLWithString:UIApplicationOpenSettingsURLString];        

    [[UIApplicationsharedApplication] openURL:url];  

}

測試注意:新項目測試,需要請求一下位置權限或者通知權限,才可以跳進自己的app設置里面,如果沒有任何權限請求,就只能跳到系統的設置界面.

//其他網頁中提及到:

如果要跳轉第三方應用的設置界面中,使用prefs:root=boundleId的方式,boundleId是第三方應用的boundleId。


跳轉到系統設置的其他界面

在點擊跳轉的按鈕動作中添加如下代碼:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];

在項目中的info中添加 URL types

添加 URL Schemes 為 prefs的url

如圖:

這樣點擊就可以跳轉到wifi設置界面.


跳轉到其他的界面的字段:

 1 //數組中的字典的內容就是直接跳轉的語句
 2     //例如跳轉到照片:prefs:root=Photos
 3     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Photos"]];
 4     //跳轉系統設置根目錄中的項目使用如下的方法:
 5     NSArray *array = @[
 6                @{@"系統設置":@"prefs:root=INTERNET_TETHERING"},
 7                @{@"WIFI設置":@"prefs:root=WIFI"},
 8                @{@"藍牙設置":@"prefs:root=Bluetooth"},
 9                @{@"系統通知":@"prefs:root=NOTIFICATIONS_ID"},
10                @{@"通用設置":@"prefs:root=General"},
11                @{@"顯示設置":@"prefs:root=DISPLAY&BRIGHTNESS"},
12                @{@"壁紙設置":@"prefs:root=Wallpaper"},
13                @{@"聲音設置":@"prefs:root=Sounds"},
14                @{@"隱私設置":@"prefs:root=privacy"},
15                @{@"APP Store":@"prefs:root=STORE"},
16                @{@"Notes":@"prefs:root=NOTES"},
17                @{@"Safari":@"prefs:root=Safari"},
18                @{@"Music":@"prefs:root=MUSIC"},
19                @{@"photo":@"prefs:root=Photos"}
20                ];
21     NSURL * url = [NSURL URLWithString:[_array[index] allValues].firstObject];
22     [[UIApplication sharedApplication]openURL:url];

要是想跳到設置內部的位置,可以用&path+路徑:

 1 //如果需要繼續向項目內層進行跳轉,可以通過添加path路徑的方式,如下:
 2     NSArray *array = @[
 3                @{@"關於本機":@"prefs:root=General&path=About"},
 4                @{@"軟件升級":@"prefs:root=General&path=SOFTWARE_UPDATE_LINK"},
 5                @{@"日期時間":@"prefs:root=General&path=DATE_AND_TIME"},
 6                @{@"Accessibility":@"prefs:root=General&path=ACCESSIBILITY"},
 7                @{@"鍵盤設置":@"prefs:root=General&path=Keyboard"},
 8                @{@"VPN":@"prefs:root=General&path=VPN"},
 9                @{@"壁紙設置":@"prefs:root=Wallpaper"},
10                @{@"聲音設置":@"prefs:root=Sounds"},
11                @{@"隱私設置":@"prefs:root=privacy"},
12                @{@"APP Store":@"prefs:root=STORE"},
13                @{@"還原設置":@"prefs:root=General&path=Reset"},
14                @{@"應用通知":@"prefs:root=NOTIFICATIONS_ID&path=應用的boundleId"}
15                ];
16     NSURL * url = [NSURL URLWithString:[array[index] allValues].firstObject];
17     [[UIApplication sharedApplication]openURL:url];

其他界面跳轉的字段:

About — prefs:root=General&path=About  

Accessibility — prefs:root=General&path=ACCESSIBILITY  

AirplaneModeOn— prefs:root=AIRPLANE_MODE  

Auto-Lock — prefs:root=General&path=AUTOLOCK  

Brightness — prefs:root=Brightness  

Bluetooth — prefs:root=General&path=Bluetooth

Date& Time — prefs:root=General&path=DATE_AND_TIME  

FaceTime — prefs:root=FACETIME

General— prefs:root=General

Keyboard — prefs:root=General&path=Keyboard  

iCloud — prefs:root=CASTLE  iCloud 

Storage & Backup — prefs:root=CASTLE&path=STORAGE_AND_BACKUP  

International — prefs:root=General&path=INTERNATIONAL  

Location Services — prefs:root=LOCATION_SERVICES  

Music — prefs:root=MUSIC  

Music Equalizer — prefs:root=MUSIC&path=EQ  

Music VolumeLimit— prefs:root=MUSIC&path=VolumeLimit  

Network — prefs:root=General&path=Network  

Nike + iPod — prefs:root=NIKE_PLUS_IPOD  

Notes — prefs:root=NOTES  

Notification — prefs:root=NOTIFICATIONS_ID  

Phone — prefs:root=Phone  

Photos — prefs:root=Photos  

Profile — prefs:root=General&path=ManagedConfigurationList  

Reset — prefs:root=General&path=Reset  

Safari — prefs:root=Safari  Siri — prefs:root=General&path=Assistant  

Sounds — prefs:root=Sounds  

SoftwareUpdate— prefs:root=General&path=SOFTWARE_UPDATE_LINK  

Store — prefs:root=STORE  

Twitter — prefs:root=TWITTER  

Usage — prefs:root=General&path=USAGE  

VPN — prefs:root=General&path=Network/VPN  

Wallpaper — prefs:root=Wallpaper  

Wi-Fi — prefs:root=WIFI

Setting—prefs:root=INTERNET_TETHERING

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM